Piattaforma di Gestione Rete Italia
Sistema Integrato per Analisi di Fattibilità, Rilascio e Routing su Rete AGGREGATION (RA) e CORE (RC) TelecomItalia
Funzionalità Principali
Suite Completa di Strumenti Enterprise per Ottimizzazione Rete DWDM.
Algoritmo Dijkstra Avanzato
Core EngineCalcolo automatico fino a 300 percorsi primari (Std) (default 30) ottimizzati per distanza e 10 alternativi diversificati (Div) per ciascuno. Vincoli configurabili: centrali obbligatorie (selezione multipla), centrali da evitare (multipla), distanza min/max km, numero collegamenti. Esclusione Data Center: 17 sedi IDC/housing escluse di default dal routing (toggle [DC]).
Database Enterprise RC + RA Italia
ProfessionalRepository RC Italia con 500+ centrali e RA Italia con rete aggregation regionale. Metadati completi (GAT, CLLI, coordinate WGS84, zona, area, regione, stato operativo). Ricerca full-text case-insensitive. Filtri Stati separati: RA 4 stati, RC 5 stati. Filtri Sedi: Solo NODO A1 [T1], Solo Data Center [DC]. Colorazione automatica: A1 blu, DC magenta. Export CSV.
Geocodifica OpenStreetMap
Smart LocationConversione automatica indirizzo → coordinate WGS84 tramite OpenStreetMap Nominatim API. Algoritmo Haversine per calcolo distanze ortodromiche. Identificazione automatica centrale più vicina con indicatore permanente distanza. Supporto indirizzi italiani completi.
Mappa Visualizzazione Percorsi
Path ViewerMappa Leaflet.js dedicata alla visualizzazione dei percorsi calcolati nella Ricerca Percorsi. Overlay colorati differenziati per percorsi primari (Std) e diversificati (Div), layer control avanzato, zoom automatico sul percorso selezionato. Contesto RA/RC: la mappa si resetta automaticamente quando passi da "Ricerca Percorso RA" a "Ricerca Percorso RC" (e viceversa), evitando refusi di ricerche precedenti. Le funzionalità complete di analisi topografica (filtri, marker, ricerca indirizzo, COLT vicine) sono disponibili nel tool NAT Italia.
Calcolo Attenuazione Fibra
ProfessionalStima professionale perdite su tratte fibra ottica. Layout a 2 colonne: form input + risultato stile Riepilogo Economico a sinistra, legenda con tabella coefficienti a destra. Supporta MM (850/1300 nm) e SM (1310/1550 nm). Coefficienti standard ITU-T G.652/G.651.
Sistema Undo Intelligente
Time-saverCronologia automatica ultime 20 ricerche con salvataggio completo: centrali, vincoli, filtri, coordinate cliente, toggle stati. Ripristino istantaneo con 1 click. Persistenza localStorage tra sessioni. History stack FIFO. Risparmio: da 5 minuti a 5 secondi!
Export Multi-formato
Enterprise OutputExport percorsi formato TXT professionale con header grafico, box percorso, centrali numerate e collegamenti con TipoSede. Copia formattata con emoji bandiere: 🇵🇦🇷🇹🇪🇳🇿🇦 Partenza, 🇵🇦🇸🇸🇦🇬🇬🇮🇴 Passaggio, 🇬🇦🇹🇪🇼🇦🇾 Gateway RA↔RC, 🇦🇷🇷🇮🇻🇴 Arrivo. Formato unificato per RC, RA e UNIFIED.
Documentazione Unificata
Complete GuideDocumentazione Tecnica + Guida Operativa in tab unico con 2 sezioni separate. Include: introduzione, 6 funzionalità dettagliate con details espandibili, workflow 11 passi, caso d'uso reale ROMA-MILANO, tips professionali, FAQ troubleshooting. Navigazione rapida con indice cliccabile.
RA Italia — Rete Aggregation
Network AggregationRete di aggregazione regionale con Multi-Path: calcolo simultaneo percorsi su tutti gli archi compatibili tra Partenza e Arrivo. Bottoni 🔽 Filtri Stati, ⚖️ Confronta (Comparatore 3 Percorsi), 🔗 Condividi per copia link configurazione, 🌍 Mappa NAT per esportare percorsi su mappa geografica. Toggle Solo Collegamenti ATTIVI, export TXT professionale.
RC Italia — Rete Core
Network CoreBackbone nazionale DWDM e collegamenti metropolitani Ultra Dense Urban e Dense Urban. Bottoni 🔽 Filtri Stati (5 stati: Attivo, Non Attivo, In Attivazione, In Variazione, In Reinstradamento), ⚖️ Confronta (Comparatore 3 Percorsi), 🔗 Condividi, 🌍 Mappa NAT per esportare percorsi su mappa geografica.
Percorso Unificato RA+RC
Combined AnalysisRicerca percorsi che attraversano entrambe le reti RA e RC con gateway automatici. Colonna Mix mostra composizione (RA:n, RC:m, salti). Bottoni 🔽 Filtri Stati (RA 4 stati + RC 5 stati), ⚖️ Confronta (Comparatore 3 Percorsi con formato Nome (CLLI) [TipoSede] :RA: / :RC:), 🔗 Condividi, 🌍 Mappa NAT per esportare percorsi unificati su mappa geografica con gateway evidenziati.
Fibra Nuda Diretta
In StudioCollegamenti punto-punto dedicati in fibra ottica dark fiber. Sezione attualmente in fase di studio ed eventuale implementazione. Permetterà l'analisi di percorsi su infrastruttura fibra nuda per servizi dedicati ad alta capacità senza apparati attivi intermedi.
Filtro POP (NODO A1)
32 CentraliToggle per filtrare le 32 centrali POP nazionali (NODO A1) come destinazione percorsi. I POP sono i punti di interconnessione regionali della rete TIM: ROMA, MILANO, TORINO, NAPOLI, BOLOGNA, FIRENZE, ecc. Attivando il filtro, il campo arrivo mostra solo le centrali POP ufficiali.
Colorazione ID Collegamenti RA
Visual CodeSistema di colorazione semantica per gli ID collegamenti RA: Verde (T1↔T2, T2↔T2) collegamenti principali, Blu TIM (T2↔T3) collegamenti intermedi, Standard (T3↔T3) collegamenti di transito. Il conteggio calcola: verdi=1, blu=0.5 (ogni 2=1).
Analisi S.d.F. Internalizzati
NEWDashboard completa per il monitoraggio delle Schede di Fattibilità Internalizzate (Retail & Wholesale). Include KPI in tempo reale, 6 grafici interattivi, filtri per stato/tipologia/territorio/scadenza e tabella dettagliata con ordinamento.
Confronto DB Excel
NEWTool per confrontare versioni di database Excel. Analizza fogli, righe e celle per identificare differenze. Include verifica speciale GAT_A/GAT_Z per file RA/RC con report dettagliato delle anomalie.
Memo e Promemoria S.d.F.
NEWSistema completo per gestire promemoria sulle Schede di Fattibilità. Bottone 📝 nell'header per accesso rapido, possibilità di aggiungere memo manuali o importarli dalla tabella S.d.F., alert configurabili per scadenze imminenti (0-30 giorni), colonna Cliente, export CSV e Export Excel "Diario Lavoro S.d.F." con fogli separati per lavorante.
Dark Mode
Eye ComfortModalità scura completa per ridurre l'affaticamento visivo durante lunghe sessioni di lavoro. Toggle nell'header per attivazione immediata. Supporto completo per popup (Memo, Alert, Cronologia), tabelle, form, calendario e tutti gli elementi dell'interfaccia. 21+ componenti ottimizzati per dark mode con colori bilanciati e leggibilità perfetta.
Filtri Stati Collegamenti
Smart FilterPannello espandibile 🔽 Filtri Stati per filtrare i percorsi in base allo stato dei collegamenti. Filtri RA: Attivo, Non Attivo [DA VERIFICARE SU NNI], In Attivazione, Da Verificare su NNI (4 stati). Filtri RC: Attivo, Non Attivo, In Attivazione, In Variazione, In Reinstradamento (5 stati). Applicazione istantanea con persistenza separata per ogni tab.
Comparatore a 3 Percorsi
⚖️ CompareSistema avanzato per confrontare visivamente fino a 3 percorsi affiancati (2 obbligatori, terzo opzionale). Selettori colorati 🔵 Percorso A (blu), 🔴 Percorso B (rosso), 🟢 Percorso C (verde). Metriche confrontate: distanza km, numero hop, dettaglio collegamenti con ID, distanza e stato colorato. Calcolo automatico overlap % e evidenziazione migliore/peggiore per ogni metrica.
Condivisione Ricerche
🔗 ShareFunzionalità 🔗 Condividi per generare e condividere link con parametri di ricerca preconfigurati. Include centrali partenza/arrivo, filtri attivi, vincoli obbligatori/evitare. Toggle comportamento: clic ripetuto chiude il pannello, auto-chiusura 10 sec. Bottone copia clipboard per condivisione rapida con colleghi.
🌍 Integrazione NAT Italia
Cross-ToolEsporta i percorsi calcolati in CRO verso NAT Italia per visualizzarli sulla mappa geografica interattiva. Il bottone 🌍 Mappa NAT (presente in RA, RC, Unificato) trasferisce automaticamente tutti i percorsi Std, Div e Multi-Path con coordinate, CLLI e TipoSede di ogni centrale. Su NAT i percorsi appaiono come polyline colorate (blu RA, rosso RC, viola Unificato) con marker per ogni nodo e gateway evidenziati. Ideale per presentazioni, verifiche sul campo e analisi geografica dei tracciati.
Analisi Rete
V35.00Tab per ricerca Subpath/Arco/Ramo su Database Unificato RA+RC. Routing alternativo BFS senza limiti hop, con badge source colorati (🔵 RA, 🔴 RC, 🟣 RA+RC). Esclusione automatica Data Center. Integrazione con Analisi Collegamenti Critici DWDM per impatto fattibilità.
Analisi Collegamenti Critici DWDM
V35.00Tab rinominato da "Occupazione Rete". Dashboard KPI in tempo reale: Fattibilità totali, Subpath RA/RC Attivi e Non Attivi. Identificazione Subpath Critici Non Attivi che impattano sulla rete DWDM. Top 10 Subpath più utilizzati nelle fattibilità con conteggio occorrenze.
Vincoli Collegamenti (SubPath/Arco/Ramo)
V35.00Nuova funzionalità in Ricerca Percorso RC e Unificato (RA+RC): ✅ Collegamento Obbligatorio per forzare il passaggio su specifici collegamenti/SubPath/archi. 🚫 Collegamento da Evitare per escludere collegamenti dal routing. Autocomplete con selezione multipla su IdCollegamento, Nome_SubPath, ID_ARCO.
Sistema Messaggi Unificato
V31.06UX moderna con Toast (notifiche non-bloccanti per success/info brevi, auto-dismiss 3s) e Popup Modali (finestre per warning/error che richiedono conferma). Logica automatica: success/info brevi → Toast, warning/error sempre → Popup. 361 CSS variables, animazioni fluide, supporto completo dark mode, accessibilità WCAG.
Novità V35.00
Latest
Aggiornamenti principali dell'ultima release:
• 🔄 Nuovo Tab: "Analisi Collegamenti Critici DWDM" (ex "Occupazione Rete") con Dashboard KPI
• 🔍 Analisi Rete Potenziata: routing alternativo BFS su rete unificata RA+RC senza limiti hop
• 🔗 Vincoli Collegamenti: Collegamento Obbligatorio/da Evitare in RC e Unificato (SubPath/Arco/Ramo)
• 🌙 Dark Mode Completo: supporto per Analisi Rete, Analisi Coll. Critici DWDM, dropdown RA
Ricerca Percorso RC
Impostazione Ricerca Percorsi Standard e Percorsi Diversificati sulla Rete RC Italia
Imposta i parametri di ricerca per ottenere fino a 300 Percorsi Standard (Std) (default: 30)
e, per ciascuno di essi, fino a 10 Percorsi Diversificati (Div).
I percorsi saranno calcolati sulla base del DB RC Italia, tenendo conto di Stati, Distanze e Vincoli.
Note su Ricerca Percorso RC:
📍 Posizione Cliente: inserisci l’indirizzo completo oppure le coordinate (Lat/Lon). Con “🔍 Geocodifica Indirizzo” il sistema converte automaticamente l’indirizzo in coordinate geografiche utilizzabili per la ricerca.
🔎 Trova Centrale Vicina: calcola la centrale RC più vicina alla posizione cliente tramite algoritmo di Haversine e la imposta automaticamente come “🚀 Centrale di Partenza (Percorso Std)”.
🥇 Percorso Std: utilizza Partenza 1 / Arrivo 1 e restituisce fino a 30 soluzioni ordinate per distanza crescente. Questi rappresentano i percorsi standard primari (candidati principali).
🥈 Percorsi Div: genera percorsi diversificati usando Partenza 2 / Arrivo 2 se valorizzati; in caso contrario usa i nodi dello Std. Serve per ottenere alternative e migliorare la ridondanza del routing.
✅ Centrale Obbligatoria: forza il transito attraverso la centrale indicata. Usa “➕ Sel. Multipla” per imporre il passaggio su più centrali contemporaneamente.
🚫 Centrale da Evitare: esclude la centrale dal grafo di ricerca, impedendo che compaia in qualsiasi percorso. Usa “➕ Sel. Multipla” per escludere più centrali in un’unica azione.
✅ Collegamento Obbligatorio (SubPath/Arco/Ramo): forza il passaggio su specifici collegamenti/SubPath/archi. Usa "➕ Sel. Multipla" per imporre più collegamenti. Match su IdCollegamento, Nome_SubPath, ID_ARCO.
🚫 Collegamento da Evitare (SubPath/Arco/Ramo): esclude collegamenti/SubPath/archi dal routing. Usa "➕ Sel. Multipla" per escludere più collegamenti. Autocomplete con ricerca parziale su tutti i campi.
⚙️ Filtri avanzati: limita i risultati per numero di hop, distanza (km) e numero massimo di percorsi visualizzati, migliorando prestazioni e leggibilità della ricerca.
↩️ Undo (Ultime 20): ripristina una delle ultime 20 ricerche salvate con parametri e selezioni (centrali, filtri, selezione multipla). Il/i bottoni “🔁 Reset Campi” non cancellano la cronologia.
🔽 Filtri Stati: filtra i percorsi in base allo stato dei collegamenti (ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO, MISTO (ATTIVO+IN ATTIVAZIONE)). Applicazione immediata ai risultati.
🏢 Bottone [DC]: esclude/include le 17 centrali Data Center (IDC/housing) dal routing. Di default i DC sono esclusi (bottone magenta attivo). Clicca per abilitare il passaggio attraverso i Data Center.
⚖️ Confronta: attiva il comparatore fino a 3 percorsi affiancati, mostrando distanza, hop, collegamenti e % overlap, con evidenziazione automatica del migliore e del peggiore per ogni metrica.
🔗 Condividi: genera un link condivisibile con tutti i parametri della ricerca corrente (centrali, filtri e vincoli), per salvare o condividere configurazioni operative con i colleghi.
🌍 Mappa NAT: esporta i percorsi calcolati (Std e Div) verso NAT Italia per la visualizzazione geografica. Polyline colorate con marker per ogni centrale e tooltip dettagliati.
| Verde = ATTIVO | Celestino = MISTO (ATTIVO+IN ATTIVAZIONE) |
| Rosso = NON ATTIVO | Viola = IN REINSTRADAMENTO |
| Arancione = IN ATTIVAZIONE | Blu = IN VARIAZIONE |
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Nessun percorso calcolato. Imposta i parametri e premi Calcola Percorsi Std. | |||||
Percorsi Div (diversificati) per il percorso selezionato
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Seleziona un percorso Std e lancia Percorsi Div per vedere le alternative diversificate. | |||||
Ricerca Percorso RA
Ricerca percorsi sulla Rete RA Italia (T2 → T1)
Ricerca percorsi sulla Rete RA Italia da una centrale di Partenza (T2) verso una centrale di Arrivo (T1). In modalità Arco singolo viene calcolato un Percorso Standard (Std) e il relativo Diversificato (Div).
In modalità Multi-Path è possibile individuare tutti i percorsi tra Partenza e Arrivo che condividono gli stessi Archi di rete.
Note su Ricerca Percorso RA:
📍 Posizione Cliente: inserisci l’indirizzo completo oppure le coordinate (Lat/Lon). Con “🔍 Geocodifica Indirizzo” il sistema converte automaticamente l’indirizzo in coordinate geografiche utilizzabili per il calcolo dei percorsi.
🔎 Trova Centrale Vicina: calcola la centrale RA più vicina (Tipo 1 o Tipo 2) alla posizione cliente tramite algoritmo di Haversine e la imposta automaticamente come “🚀 Centrale di Partenza (Percorso Std)”.
🥇 Percorso Std: utilizza Partenza 1 → Arrivo 1 e restituisce il percorso ottimale ordinato per distanza. La centrale di partenza può essere Tipo 1 o Tipo 2, mentre la centrale di arrivo è sempre Tipo 1 (NODO A1).
🥈 Percorsi Div: calcola un percorso alternativo e diversificato verso un’altra centrale Tipo 1 (NODO A1) sullo stesso arco. Disponibile solo con arrivo Tipo 1, fornisce ridondanza e resilienza per scenari di disaster recovery.
🏢 Tipi Sede: Tipo 1 = HUB RA+RC (NODO A1, interconnesso con Rete Core) • Tipo 2 = HUB RA (aggregazione verso Tipo 1) • Tipo 3 = Passaggio/transito, non visualizzato nei percorsi ma attraversato dai collegamenti.
🔵 Filtro POP (NODO A1): il bottone [POP] limita la destinazione alle 32 centrali POP nazionali, principali nodi di interconnessione regionale con la rete Core RC Italia.
📍 Archi Multipli: se una centrale appartiene a più archi, viene mostrato [Premi Qui] per visualizzare l’elenco completo. I filtri Arco e Tipo Sede aggiornano dinamicamente le centrali disponibili negli autocomplete.
⚠️ Selezione Arco Obbligatoria: quando Partenza e Arrivo risultano compatibili con più archi, è necessario selezionare un solo arco nel “🔍 Filtro per Arco (Checkbox)” prima di eseguire il calcolo, per evitare ambiguità di percorso.
🔀 Multi-Path: funzione avanzata che calcola tutti i percorsi Std su tutti gli archi compatibili tra Partenza e Arrivo. Utile per confrontare rapidamente più soluzioni e individuare l’opzione più efficiente.
↩️ Undo (Ultime 20): consente di ripristinare una delle ultime 20 ricerche effettuate. Tutti i parametri vengono salvati automaticamente. Il comando “🔁 Reset Campi” non cancella la cronologia delle ricerche.
🔽 Filtri Stati: permette di visualizzare solo i percorsi con collegamenti in stati specifici (ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], IN ATTIVAZIONE, DA VERIFICARE SU NNI, MISTO (ATTIVO+IN ATTIVAZIONE)). I filtri vengono applicati in tempo reale ai risultati.
🏢 Bottone [DC]: esclude/include le 17 centrali Data Center (IDC/housing) dal routing. Di default i DC sono esclusi (bottone magenta attivo). Clicca per abilitare il passaggio attraverso i Data Center.
⚖️ Confronta: attiva il comparatore fino a 3 percorsi affiancati, mostrando distanza, hop, collegamenti e percentuale di overlap, con evidenziazione automatica del migliore e del peggiore per ogni metrica.
🔗 Condividi: genera un link condivisibile contenente tutti i parametri della ricerca corrente (centrali, filtri e vincoli), consentendo di salvare o condividere configurazioni operative con altri utenti.
🌍 Mappa NAT: esporta i percorsi (Std, Div e Multi-Path) verso NAT Italia. Polyline colorate con marker per ogni centrale. I Multi-Path duplicati (stesso arco di Std) sono esclusi automaticamente.
🔑 La costruzione dell'identificativo univoco di collegamento (IdCollegamento) è così strutturata:
NE_arco_1042 | NE_144 | ANE009 | 5 | [1]
NE_arco_1042 → identificativo dell'Arco di rete
NE_144 → identificativo del ramo (IdRamo)
ANE009 → identificativo del sub-path
5 → indica il progressivo dell'IdRamo all'interno dell'arco di appartenenza
[ 1 ] → indica che ci sono Univoci duplicati e che [ 1 ] è il primo, [ 2 ] il secondo
L'insieme di questi 4 elementi definisce in modo univoco il path nel modello RA.
🎨 Colorazione ID Collegamenti (per tipo connessione e peso):
Verde=T1↔T2/T2↔T2 (1) • Blu TIM=T2↔T3 (0.5) • Grigio=T3↔T3 (0)
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Nessun percorso calcolato. Imposta i parametri e premi Calcola Percorsi RA. | |||||
Percorsi Div (diversificati) per il percorso selezionato
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Seleziona un percorso Std e lancia Percorsi Div per vedere le alternative diversificate. | |||||
🔀 Multi-Path: Percorsi su tutti gli archi compatibili
| # | Arco | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|---|
| Premi 🔀 Multi-Path per calcolare i percorsi su tutti gli archi compatibili. | ||||||
📍 Percorso Div per Arco selezionato
| # | Arco | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) |
|---|---|---|---|---|---|
| Seleziona un percorso e premi ▶ Percorso Div per vedere il diversificato. | |||||
Ricerca Percorso Unificato (RA + RC)
Calcolo percorso ottimale su rete combinata RA + RC
Seleziona una centrale di Partenza e una di Arrivo (da DB RA o DB RC).
Il calcolo considera entrambi i database e ricerca il percorso più corto,
con tie-break su meno collegamenti.
In rete RA le centrali [T3] sono considerate
solo di passaggio (non selezionabili come endpoint).
Note su Ricerca Percorso Unificato:
📍 Posizione Cliente: inserisci l’indirizzo completo oppure le coordinate (Lat/Lon). Con “🔍 Geocodifica Indirizzo” il sistema converte automaticamente l’indirizzo in coordinate geografiche utilizzabili per la ricerca.
🔎 Trova Centrale Vicina: calcola la centrale più vicina (RA Tipo 1/2 o RC) tramite algoritmo di Haversine. Usa il bottone “🚀/🏁 Inserisci” per scegliere se impostarla come Partenza o Arrivo.
👥 Modalità Cliente Sede A → Rete → Sede Z: inserisci le coordinate di due clienti (A e Z). Il sistema individua le centrali più vicine e calcola il percorso ottimale sulla rete unificata RA+RC.
🥇 Percorso Std: utilizza Partenza 1 / Arrivo 1 e restituisce fino a 10 soluzioni ordinate per distanza crescente. Questi rappresentano i percorsi standard primari (candidati principali).
🥈 Percorsi Div: genera percorsi diversificati usando Partenza 2 / Arrivo 2 se valorizzati; in caso contrario usa i nodi dello Std. Serve per ottenere alternative e migliorare la ridondanza del routing.
✅ Centrale Obbligatoria: forza il transito attraverso la centrale indicata. Usa “➕ Sel. Multipla” per imporre il passaggio su più centrali contemporaneamente.
🚫 Centrale da Evitare: esclude la centrale dal grafo di ricerca, impedendo che compaia in qualsiasi percorso. Usa “➕ Sel. Multipla” per escludere più centrali in un’unica azione.
✅ Collegamento Obbligatorio (SubPath/Arco/Ramo): forza il passaggio su specifici collegamenti/SubPath/archi. Usa "➕ Sel. Multipla" per imporre più collegamenti. Match su IdCollegamento, Nome_SubPath, ID_ARCO.
🚫 Collegamento da Evitare (SubPath/Arco/Ramo): esclude collegamenti/SubPath/archi dal routing. Usa "➕ Sel. Multipla" per escludere più collegamenti. Autocomplete con ricerca parziale su tutti i campi.
🏢 Tipi Sede RA: Tipo 1 [T1] = HUB RA+RC (NODO A1, interconnesso con Rete Core) • Tipo 2 [T2] = HUB RA (aggregazione verso T1) • Tipo 3 [T3] = Passaggio/transito (solo transito, non selezionabile come endpoint).
🔗 Interconnessione RA↔RA / RA↔RC / RC↔RA: passaggio RA–RC automatico su nodi con stesso CLLI (centrali [T1] / NODO A1); passaggio RA↔RA tra sedi T1/T2 con stesso CLLI e tipo sede.
🔵 Filtro POP: il bottone [POP] nel campo Arrivo limita la destinazione alle centrali POP nazionali (NODI A1), utile per instradamenti verso i principali punti di interconnessione regionali.
🔽 Filtri Stati: filtra i risultati per stato dei collegamenti. In RA: ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], IN ATTIVAZIONE, DA VERIFICARE SU NNI, MISTO (ATTIVO+IN ATTIVAZIONE). In RC: ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO, MISTO (ATTIVO+IN ATTIVAZIONE).
🏢 Bottone [DC]: esclude/include le 17 centrali Data Center (IDC/housing) dal routing. Di default i DC sono esclusi (bottone magenta attivo). Clicca per abilitare il passaggio attraverso i Data Center.
⚖️ Confronta: attiva il comparatore fino a 3 percorsi affiancati, mostrando distanza, hop, collegamenti in formato Nome (CLLI) [TipoSede] :RA: / :RC: e % overlap per valutare differenze e ridondanza.
🔗 Condividi: genera un link condivisibile con tutti i parametri della ricerca corrente (centrali, filtri e vincoli), per salvare o condividere configurazioni operative con i colleghi.
🌍 Mappa NAT: esporta i percorsi Unificati (Std e Div) verso NAT Italia. Polyline colorate con marker per ogni centrale e gateway evidenziati in viola.
💡 Mix RA/RC: La colonna "Mix" nei risultati mostra la composizione del percorso (es. RA:3 • RC:2 • 1 salto indica 3 tratte RA, 2 tratte RC e 1 cambio RA↔RC). Questo permette di valutare quali segmenti di rete vengono attraversati.
🔑 L’IdCollegamento, identificativo univoco del collegamento per la parte RA, viene costruito secondo le regole illustrate nel tab Ricerca Percorso RA. Di seguito si riporta un esempio esplicativo:
NE_arco_1042 | NE_144 | ANE009 | 5 | [1]
Verde=T1↔T2/T2↔T2 (1) • Blu TIM=T2↔T3 (0.5) • Grigio=T3↔T3 (0)
🏷️ Stati Collegamenti RA (etichette):
ATTIVO • NON ATTIVO [DA VERIFICARE SU NNI] • IN ATTIVAZIONE
DA VERIFICARE SU NNI • MISTO (ATTIVO+IN ATTIVAZIONE) 🎨 Colorazione ID Collegamenti RC (per stato):
| Verde = ATTIVO | Celestino = MISTO (ATTIVO+IN ATTIVAZIONE) |
| Rosso = NON ATTIVO | Viola = IN REINSTRADAMENTO |
| Arancione = IN ATTIVAZIONE | Blu = IN VARIAZIONE |
Viola intenso = Cambio RA↔RC / RC↔RA / RA↔RA
| # | Percorso Centrali | ID Collegamenti | Collegamenti | Distanza (km) | Azioni |
|---|---|---|---|---|---|
| Imposta Partenza e Arrivo e premi Calcola Percorsi UNIFICATO RA + RC. | |||||
🗺️ Mappa Topografica dei Percorsi
Visualizza su mappa i percorsi Std / Div dell'ultima ricerca eseguita.
Percorsi trovati (0)
Usa le checkbox per mostrare o nascondere i singoli percorsi sulla mappa.
🗺️ Mappa Topografica dei Percorsi Unificati RA+RC
Visualizza su mappa i percorsi Std / Div dell'ultima ricerca Unificata eseguita.
Percorsi trovati (0)
Usa le checkbox per mostrare o nascondere i singoli percorsi sulla mappa.
Mappa Topografica Nazionale
Visualizzazione geografica completa della rete RC_Italia con filtri interattivi per Area, Zona e Stato
Visualizzazione Database
Consulta, filtra ed esporta i collegamenti presenti nei database RA e RC.
Calcolo Attenuazione Fibra (dB)
Stima la perdita complessiva su una tratta in fibra ottica in funzione della lunghezza, del tipo di fibra e del numero di Collegamenti.
📊 Risultato Calcolo Attenuazione
| Tipo fibra | - |
|---|---|
| Lunghezza tratta | - |
| N° Collegamenti (Connettorizzazioni) | - |
| 📉 Perdita fibra (L × α) | - |
| 🔗 Perdita connettori (N × 0.3) | - |
| ⚡ PERDITA TOTALE STIMATA | - |
📚 Legenda e Metodologia di Calcolo:
📐 Formula ITU-T: La perdita totale è calcolata con:
Perdita (dB) = (L × α) + (N_conn × 0.3)📏 Parametri: L = lunghezza in km, α = coefficiente attenuazione intrinseca (dB/km), N_conn = numero connettorizzazioni (2 per ogni bretella).
🌈 Coefficienti di Attenuazione (α):
| λ (nm) | Tipo | α (dB/km) | Uso tipico |
|---|---|---|---|
| ● 850 | MM | 3.00 | Data center, LAN |
| ● 1300 | MM | 1.00 | Campus network |
| ● 1310 | SM | 0.35 | Metro, regionale |
| ● 1550 | SM | 0.22 | Long-haul, DWDM |
🔗 Connettorizzazioni: Ogni bretella ha 2 connettori. Con X bretelle → 2X connettorizzazioni → perdita = 2X × 0.3 dB.
📋 Standard: Valori basati su ITU-T G.652 (SM) e G.651 (MM). Perdita connettore tipica: 0.3 dB (fusione) - 0.5 dB (meccanico).
💡 Esempio: 35 km a 1550 nm, 3 bretelle (6 conn.)
Fibra: 35 × 0.22 = 7.70 dB
Connettori: 6 × 0.3 = 1.80 dB
Totale = 9.50 dB
Analisi Costi per Fattibilità
Stima dei Costi associati a Link, Code Cliente e Apparati/Cestelli, con Selezione Multipla e Riepilogo Economico.
📊 Riepilogo Economico
Totali Calcolati in tempo reale sulla base di tutte le righe selezionate nei tre pannelli.
| Totale Listino Link RA & RC | 0,00 € |
|---|---|
| Totale Coda Cliente & Servizio | 0,00 € |
| Totale Apparati & Cestelli | 0,00 € |
| Totale Complessivo Stimato (Prezzo Cliente) | 0,00 € |
| Totale Complessivo con eventuale Sconto** | 0,00 € |
🧾 Coda Cliente & Servizio
Componenti Economiche legate al tipo di Servizio Richiesto e alle Risorse Cliente.
| Tipologia | HW ADVA | Costo |
|---|
| CODA RETAIL | HW ADVA | Costo |
|---|
🔗 Link Rete RA & RC
Seleziona le Tipologie di Link Richieste dal Cliente. I Costi Includono Nuova Connessione e Scorta.
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Link | HW HUAWEI | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Descrizione | Costo | |
|---|---|---|
| Caricamento… | ||
📲 Apparati & Cestelli
Costi una Tantum legati a Installazione Apparati, Schede e Cestelli Necessari al Servizio.
| Dettaglio | Note | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Dettaglio | Note | Costo | |
|---|---|---|---|
| Caricamento… | |||
| Dettaglio | Note | Costo | |
|---|---|---|---|
| Caricamento… | |||
Dashboard S.d.F. Internalizzati
Monitoraggio operativo delle Schede di Fattibilità Internalizzate (Retail e Wholesale).
Seleziona il file Excel "SDF internalizzati" esportato dai sistemi di riferimento. I dati vengono elaborati solo in locale nel browser — nessun dato viene inviato a server esterni.
Filtri rapidi & Analytics
Filtra il backlog per stato, tipologia, territorio e scadenza. I grafici si aggiornano in tempo reale.
Stato lavorazioni
Tipo progetto
Priorità
Territorio NORD / CENTRO / SUD
Esito rispetto al totale
Scadenze vs Oggi
Dettaglio S.d.F.
Elenco completo delle S.d.F. internalizzate. Le righe rispettano tutti i filtri impostati sopra.
| Fattibilità | Descrizione / Cliente | Tipo | Priorità | Data Scadenza |
Lavorante | Territorio | Provincia | Comune | Data em@il |
Data Esito |
Esito | Interventi Dimensionali |
Interventi Infrastrutturali |
Data Accettazione Cliente |
Note |
|---|
Confronto DB Excel
Verifica allineamento tra versione VECCHIA e NUOVA del DB Excel (stessa struttura: fogli e colonne).
Carica i due file Excel (vecchio e nuovo). Il tool confronterà ogni foglio, colonna, riga e cella, generando un report testuale e un export JSON del primo foglio del DB NUOVO. Tutto è elaborato in locale nel browser — nessun dato viene inviato a server esterni.
Report confronto & Export JSON
Report TXT dettagliato delle differenze e export JSON del primo foglio del DB NUOVO (chiavi = intestazioni della riga 1). Il report mostra coordinate esatte (Foglio, Riga, Colonna) di ogni differenza trovata.
✅ Verifica Centrali (GAT_A / GAT_Z) tra Vecchio e Nuovo DB
Controlla che tutte le centrali presenti come GAT_A e GAT_Z nel file VECCHIO siano presenti anche nel file NUOVO e che le informazioni collegate coincidano.
RA: foglio archi • RC: foglio collegamenti. Se un foglio non esiste nei file caricati, la verifica relativa viene saltata.
🔬 Analisi Rete
Ricerca Subpath / Arco / Ramo • Impatto Fattibilità • Routing Alternativo
🔍 Ricerca Subpath / Arco / Ramo
Inserisci un Subpath (es: CRM105), un Arco (es: AM_arco_1003) o un IdCollegamento/Ramo (es: CB_146) per analizzare:
- Lo stato nella rete (ATTIVO/NON ATTIVO)
- L'impatto sulle fattibilità caricate in "Analisi Collegamenti Critici DWDM"
- Routing alternativo su rete unificata RA+RC (escluse centrali Data Center)
📊 Analisi:
📋 Fattibilità che utilizzano questo Subpath
🗄️ Record trovati nel Database
| Tipo | Subpath | IdCollegamento | Arco | Centrale A | Centrale Z | Stato | Km |
|---|
🔀 Routing Alternativo su Rete Unificata RA+RC
Percorsi alternativi tra le stesse centrali estreme (A → Z) che bypassano il subpath NON ATTIVO. Rete unificata RA+RC • Escluse centrali Data Center • Nessun limite hop intermedi.
📊 Analisi Collegamenti Critici DWDM
Analisi Subpath RA/RC per Fattibilità DWDM • Identificazione Subpath Critici Non Attivi
📁 Carica File Fattibilità DWDM
Carica il file Excel Occupazione_della_Rete_*.xlsx per analizzare i Subpath critici utilizzati nelle fattibilità DWDM.
📈 Dashboard Riepilogativa
📋 Elenco Fattibilità
| # | Lavorante | S.d.F. | Tipo | Servizio | 🔵 RA Attivi | 🔴 RA Non Attivi | 🟢 RC Attivi | 🟠 RC Non Attivi |
|---|---|---|---|---|---|---|---|---|
| Carica un file Excel per visualizzare i dati | ||||||||
⚠️ Subpath Non Attivi Critici (da prioritizzare)
Tutti i subpath in stato NON ATTIVO, ordinati dal più utilizzato. Segnalare all'ente competente per accelerarne il rilascio.
🔴 RA Non Attivi (tutti, dal più usato)
🟠 RC Non Attivi (tutti, dal più usato)
✅ Subpath Attivi (tutti, ordinati per utilizzo)
🔵 RA Attivi (tutti, dal più usato)
🟢 RC Attivi (tutti, dal più usato)
📚 Documentazione & Guida Tecnica CRO
Strumento di supporto operativo (non sostituisce i sistemi ufficiali)
🎯 Introduzione al Sistema CRO
Central Routing Optimizer - Piattaforma Enterprise Unificata per Analisi e Gestione Rete RA e RC Italia
Panoramica del Sistema
CRO (Central Routing Optimizer) è una piattaforma enterprise sviluppata per l'analisi di fattibilità, il rilascio e la gestione dei collegamenti DWDM (Dense Wavelength Division Multiplexing) e fibra ottica su due reti Telecom Italia: RC Italia (Rete Core) e RA Italia (Rete di Aggregazione).
Il sistema integra un motore di calcolo percorsi avanzato basato su algoritmo Dijkstra modificato, database separati per RC e RA con migliaia di collegamenti, e visualizzazioni geografiche interattive su mappe topografiche OpenStreetMap.
Analisi Rete Potenziata + Analisi Collegamenti Critici DWDM + Vincoli Collegamenti
- 🔄 Nuovo Tab: "Analisi Collegamenti Critici DWDM" (ex "Occupazione Rete") con Dashboard KPI
- 🔍 Analisi Rete: ricerca unificata RA+RC, routing alternativo BFS senza limiti hop, badge source colorati
- 🔗 Vincoli Collegamenti: Collegamento Obbligatorio/da Evitare in RC e Unificato (SubPath/Arco/Ramo)
- 🌙 Dark Mode: supporto completo per tutti i tab, dropdown RA, cursore lampeggiante nascosto
Le 32 centrali NODO A1 sono i punti di interconnessione regionali della rete TIM:
Ambito di Applicazione
CRO è progettato per supportare:
- Richieste di Fattibilità Tecnica: verifica rapida della realizzabilità di nuovi collegamenti su entrambe le reti
- Riconfigurazioni di Rete: analisi impatto e percorsi alternativi per modifiche topologiche
- Verifiche di Percorso: controllo tracciati esistenti e conformità progettuale
- Analisi Manutentive: studio collegamenti NON ATTIVI e possibili ripristini
- Scenari Alternativi: simulazioni what-if per disaster recovery e resilienza
- Ottimizzazione Routing: identificazione percorsi più efficienti per riduzione latenza/costi
- Capacity Planning: supporto decisionale per investimenti infrastrutturali
🔄 Processo di Fattibilità — Workflow Operativo
Il processo di fattibilità per servizi di connettività TIM si articola in due macro-scenari principali, che coinvolgono diverse componenti dell'infrastruttura di rete. L'analisi richiede l'utilizzo coordinato dei tool NAT (National Topography) e CRO (Central Routing Optimizer).
Il cliente (Retail o Wholesale) richiede un servizio internet con capacità di banda (es. 1G, 2G, 10G, 100G).
Flusso operativo:
- Si parte dalla posizione del cliente
- Si identifica la Centrale COLT più vicina (informazione fornita dalla S.d.F.)
- Rete di Accesso: Dal cliente alla Centrale COLT
- Se Retail → gestita da TIM
- Se Wholesale → gestita da FiberCop
- Rete di Trasporto: Dalla Centrale COLT al NODO A1 più vicino, attraversando la rete con il percorso più breve e conveniente
RETE DI ACCESSO: Cliente → Drop Cliente → Cavo di Accesso di Distribuzione → (Sede di Bypass — solo se unica opzione)
RETE DI TRASPORTO: Cavo di Giunzione/Bretella Ottica → Sede COLT (Urban Regional / Dense Urban / Ultra Dense Urban) → Rete Revolution (RA/RC) → POP
RETE DI ACCESSO: Cliente → Drop Cliente → Cavo di Bypass → Sede COLT
RETE DI TRASPORTO: Rete Revolution (RA/RC) → POP
RETE DI ACCESSO: Cliente → Drop Cliente → Cavo di Accesso di Distribuzione → Sede COLT
RETE DI TRASPORTO: Rete Revolution (RA/RC) → POP
Nota: La Rete Revolution utilizza RA Italia (Urban Regional / Dense Urban) oppure RC Italia (Ultra Dense Urban / Dense Urban) in base alla tipologia della sede.
Il cliente richiede di collegare due sedi (Sede A ↔ Sede Z) con capacità di banda (es. 1G, 2G, 10G, 100G).
Flusso operativo:
- Per ogni sede, si identifica la Centrale COLT più vicina
- La Rete di Accesso collega ogni sede alla propria Centrale COLT (TIM/FiberCop)
- Se le sedi sono nella stessa regione:
- Il percorso attraversa la Rete RA e/o RC con il tragitto più breve tra le due Centrali COLT
- Se le sedi sono in regioni diverse:
- Da ogni Centrale COLT si raggiunge il NODO A1 regionale
- I NODI A1 comunicano tra regioni tramite la Rete RTN (Rete di Trasporto Nazionale)
- Dal NODO A1 di destinazione si procede verso la Centrale COLT della Sede Z
I due tool lavorano in sinergia per completare l'analisi di fattibilità:
📍 NAT (National Topography)
|
🧭 CRO (Central Routing Optimizer)
|
Workflow tipico: Con NAT si individua il cliente, si verificano le centrali COLT vicine e si studia l'area. Con CRO si analizzano i percorsi sulla rete di trasporto, le diversificazioni per eventuale protezione e si elabora l'analisi costi.
Componenti Architetturali Principali
Core computazionale basato su algoritmo Dijkstra, esteso con logiche proprietarie per la gestione di vincoli avanzati di rete. Supporta il calcolo parallelo fino a 300 percorsi primari (Std) (default: 30), ottimizzati per distanza minima, e fino a 10 percorsi alternativi diversificati (Div) con overlap massimo configurabile. Integra un motore intelligente di eliminazione duplicati e un modulo di validazione topologica in tempo reale, garantendo coerenza e affidabilità dei risultati.
Repository completo della rete nazionale con 500+ centrali (Tipo 1, 2, 3), 5.700+ collegamenti fiber/DWDM e metadati estesi (coordinate GPS, CLLI codes, zone amministrative, stati operativi, progressivi di rete). Aggiornamento continuo tramite sincronizzazione con sistemi CR/GI. Supporto query complesse con indexing ottimizzato.
Mappe interattive powered by Leaflet.js + OpenStreetMap con overlay percorsi calcolati, marker centrali personalizzati, filtri geografici multi-livello (Area, Zona, Stato), strumenti di misura distanze e geocoding bidirezionale. Supporto layer switching e export screenshot ad alta risoluzione.
Suite completa utility: Undo/Redo ricerche (history management), Export TXT/CSV multi-formato per integrazione sistemi esterni, Calcolo Attenuazione Fibra con formule ITU-T, Geocoding indirizzi italiani via Nominatim, Ricerca Centrali Vicine con routing stradale OSRM.
Stack Tecnologico
| Componente | Tecnologia | Versione/Note |
|---|---|---|
| Frontend | HTML5, CSS3, JavaScript ES6+ | Vanilla JS - No frameworks per performance |
| Mapping | Leaflet.js | v1.9.4 - Open-source map engine |
| Map Tiles | OpenStreetMap | Tile server pubblico + fallback |
| Routing Engine | Custom Dijkstra + OSRM | Dijkstra proprietario + OSRM per routing stradale |
| Geocoding | Nominatim (OSM) | API pubblica con rate limiting |
| Database | JSON embedded + localStorage | 5.700+ records in-memory per performance |
| UI Framework | Custom CSS + Design System | TIM Corporate Identity guidelines |
Metriche di Performance
⚠️ Avvertenze / Disclaimer ufficiale
Linee guida d’uso – Strumento di supporto operativo (non sostituisce i sistemi ufficiali)
🚀 Guida rapida operativa (5 minuti)
Workflow essenziale per ottenere un percorso affidabile (RA / RC / UNIFICATO)
1) Caricamento e verifica DB
- Verifica che i DB siano presenti (RC:
RAW_DB, RA:RAW_DB_RA). In assenza DB, il tool resta stabile (NODB safe) ma non calcola percorsi. - Se noti risultati “vuoti” o bottoni inattivi, controlla che il DB sia stato realmente iniettato nella pagina.
2) Ricerca rapida RA / RC
- Seleziona 🚀 Centrale di Partenza e 🏁 Centrale di Arrivo.
- (Opzionale) imposta Arco vincolo e/o parametri di diversificazione.
- Avvia il calcolo (Std / Div). Se necessario, usa 🧹 Pulisci Tabella o ↩️ Undo.
3) Ricerca UNIFICATO (RA + RC)
- Imposta Partenza e Arrivo e (se previsto) il toggle POP.
- Avvia ⚡ Calcola Percorso UNIFICATO RA + RC per gestire casistiche miste (RA↔RC).
- Per iterazioni rapide usa ↩️ Undo (Ultime 20) o 🧼 Reset Tab (azzera l’intera tab UNIFICATO).
4) Modalità Cliente Sede A → Rete → Sede Z
- Inserisci le coordinate di Sede A e Sede Z (Lat/Lon) oppure usa 🔎 Trova Centrale Vicina dove disponibile.
- Avvia 🚀 Calcola Percorso Cliente Sede A → Rete → Sede Z per ottenere il percorso end-to-end.
5) Copia/Esportazione e Mappa
- Usa 📋 Copia Percorso, 🔗 Copia ID Collegamenti e 🗺️ Maps per condivisione rapida.
- Apri la 🗺️ Mappa Topografica per verificare visivamente il tracciato e (se disponibile) attivare/disattivare collegamenti.
🏗️ Architettura Sistema
Design architetturale, flusso dati e interazioni tra componenti
Architettura Three-Tier
CRO adotta un'architettura three-tier (presentazione, logica, dati) completamente client-side per massimizzare performance e ridurre latenza. Non richiede server backend per operazioni ordinarie.
HTML5 + CSS3 + Leaflet.js
JavaScript ES6+ • Dijkstra Engine • Validation
JSON Database • localStorage • IndexedDB
Flusso Dati Operativo
Workflow tipico di una ricerca percorsi:
- Input Utente → Form "Ricerca Percorsi" con selezione A/Z e vincoli
- Validazione Input → Controllo esistenza centrali, coerenza vincoli, range valori
- Preprocessing → Costruzione grafo di rete da database, applicazione filtri stato
- Algoritmo Dijkstra → Calcolo K-shortest paths (K=30) con vincoli attivi
- Path Diversification → Calcolo 10 percorsi Div con overlap <30% rispetto a 1.1
- Postprocessing → Eliminazione duplicati, ordinamento distanza, aggregazione metadati
- Rendering Risultati → Popolamento tabelle HTML, disegno percorsi su mappa
- User Interaction → Selezione percorsi, zoom mappa, export TXT/CSV
Gestione Stato Applicazione
Lo stato applicativo è gestito tramite pattern Observable con listeners su eventi DOM. Variabili globali di stato includono:
| Variabile | Tipo | Descrizione |
|---|---|---|
LINKS |
Array | Database collegamenti (5.700+ records) |
NODES |
Array | Database centrali (500+ records) |
currentRoutes |
Array | Percorsi calcolati (Std + Div) |
selectedRoutes |
Set | Percorsi selezionati per export |
mapInstance |
Leaflet.Map | Istanza mappa interattiva |
routeLayers |
Map | Layer mappa per percorsi disegnati |
searchHistory |
Array | Storico ricerche per undo/redo |
Sicurezza e Validazione
Meccanismi di sicurezza implementati:
- Input Sanitization - Escape caratteri speciali, validazione range numerici
- SQL Injection Prevention - N/A (no backend SQL, solo JSON client-side)
- XSS Protection - textContent invece di innerHTML per user input
- CSRF Protection - N/A (applicazione stateless senza autenticazione)
- Rate Limiting - Throttling ricerche (max 1/secondo) per prevenire abuse
- Data Validation - Schema validation per tutti i record database
Scalabilità e Performance
Ottimizzazioni implementate per performance:
- Lazy Loading - Caricamento progressivo database (chunk 1000 records)
- Memoization - Cache risultati Dijkstra per query ripetute
- Web Workers - Calcolo percorsi in background thread (opzionale)
- Virtual Scrolling - Rendering only visible rows in tabelle (>1000 items)
- IndexedDB - Persistenza locale per offline mode (future release)
- Service Workers - PWA capabilities per caching aggressivo (roadmap)
⚡ Funzionalità Principali
Overview delle capacità del sistema e modalità operative
1. Algoritmo Dijkstra Vincolato
Motore di calcolo basato su algoritmo Dijkstra con estensioni proprietarie per la gestione di vincoli avanzati di rete. Supporta il calcolo parallelo fino a 300 percorsi primari (Std) (default 30), ottimizzati per distanza minima, e fino a 10 percorsi alternativi diversificati (Div) con overlap massimo configurabile.
- Centrali obbligatorie (selezione multipla)
- Centrali da evitare (blacklist)
- Vincoli di distanza minima e massima (km)
- Numero minimo e massimo di collegamenti (hop count)
- Filtro "Solo Collegamenti NON ATTIVI" per analisi su tratte dismesse o pianificate
- Eliminazione intelligente dei percorsi duplicati
- Validazione topologica in tempo reale dei risultati
2. Database Enterprise RC Italia
Repository con 500+ centrali e metadati completi. Funzionalità:
- Ricerca case-insensitive su ID, GAT, CLLI, Nome
- Filtri per Zona (NORD/CENTRO/SUD), Area, Regione
- Personalizzazione colonne visualizzate
- Export CSV con encoding UTF-8 BOM
- Selezione multipla per operazioni batch
3. Geocodifica & Centrale più Vicina
Conversione automatica indirizzo → coordinate WGS84 tramite Nominatim API OpenStreetMap. Algoritmo Haversine per calcolo distanze ortodromiche. Identificazione automatica della centrale più vicina con indicatore permanente sulla mappa.
4. Mappa Topografica Interattiva
Visualizzazione con Leaflet.js e auto-inizializzazione. Features:
- Overlay percorsi con codifica colori (primari blu, alternativi arancione)
- Layer control per gestione visibilità
- Misurazione distanze tra due punti (attivabile)
- Zoom automatico su selezione o intera rete
- Highlight mode per evidenziare percorsi specifici
5. Calcolo Attenuazione ITU-T
Stima professionale perdite in fibra ottica secondo standard ITU-T. Layout ottimizzato a 2 colonne:
- Colonna Sinistra: Form input (tipo fibra, lunghezza, collegamenti) + risultato stile "Riepilogo Economico" con tabella dettagliata
- Colonna Destra: Legenda con formula ITU-T, tabella coefficienti α (dB/km), note connettorizzazioni, esempio pratico
- Multimodale (MM): 850 nm (α=3.0 dB/km), 1300 nm (α=1.0 dB/km)
- Monomodale (SM): 1310 nm (α=0.35 dB/km), 1550 nm (α=0.22 dB/km)
- Calcolo perdite connettorizzazioni (0.3 dB cadauna, 2 per bretella)
- Output formattato: tipo fibra, km, collegamenti, perdita fibra, perdita connettori, totale dB
6. Sistema Undo Intelligente
Cronologia automatica delle ultime 20 ricerche con salvataggio completo parametri. Ripristino istantaneo con un click. Persistenza in localStorage tra sessioni browser. Risparmio stimato: da 5 minuti a 5 secondi!
7. Export Multi-formato
Export percorsi in formato TXT (percorsi Std e Div separati) e CSV per elaborazioni Excel. Bottone "Copia Formattata" per clipboard. Output CR/GI ready.
8. Analisi Costi per Fattibilità
Modulo dedicato alla stima dei costi associati a Link, Code Cliente e Apparati/Cestelli. Features:
- Riepilogo economico calcolato in tempo reale
- Selezione multipla su tre pannelli: Link RA/RC, Coda Cliente, Apparati
- Visualizzazione costi con e senza sconto
- Export riepilogo in formato TXT
9. Dashboard S.d.F. Internalizzati
Sistema completo di monitoraggio e analisi delle Schede di Fattibilità Internalizzate (Retail & Wholesale) con dashboard interattiva:
- Caricamento Excel Multi-Foglio: import file "SDF internalizzati" con supporto per più fogli (es: 2025 e 2026), elaborazione locale nel browser
- Filtro Anno: selezione "Tutto" (default), "Solo 2025" o "Solo 2026" per visualizzare le pratiche del periodo desiderato
- 8 KPI Real-time: S.d.F. Assegnati, Completati, Da Lavorare, Annullati, Retail, Wholesale, Interventi Dimensionali, Interventi Infrastrutturali
- 6 Grafici Interattivi: distribuzione per Stato, Tipo, Priorità, Territorio, Esito, Scadenze
- Filtri Avanzati: ricerca testuale su Fattibilità/Cliente/Note, filtri dropdown per Tipo/Esito/Priorità/Territorio/Lavorante
- Filtro Anno: selezione "Tutto", "Solo 2025" o "Solo 2026" per visualizzare pratiche del periodo desiderato
- Tabella Dettagliata: 16 colonne con ordinamento dinamico e highlight scadenze
- Colonne disponibili: Fattibilità, Descrizione/Cliente, Tipo, Priorità, Data Scadenza, Lavorante, Territorio, Provincia, Comune, Data em@il, Data Esito, Esito, Interventi Dimensionali, Interventi Infrastrutturali, Data Accettazione Cliente, Note
- Reset completo: pulsante per azzerare dashboard, filtri e grafici
Utilizza il filtro "Anno" per confrontare le pratiche di periodi diversi (2025 vs 2026) o visualizzare tutto insieme. I grafici e i KPI si aggiornano automaticamente in base ai filtri applicati.
10. Confronto DB Excel & Verifica GAT
Tool avanzato per verifica allineamento tra due versioni di database Excel con controllo specifico delle centrali GAT_A/GAT_Z:
- Confronto celle: analisi foglio per foglio, cella per cella, con identificazione precisa delle differenze
- Report TXT: export dettagliato delle differenze con coordinate riga/colonna/foglio
- Export JSON: conversione del primo foglio del DB nuovo in formato JSON standard
- Statistiche real-time: fogli confrontati, celle analizzate, differenze trovate, fogli esclusivi
- 🔎 Verifica GAT (RA/RC): controllo specifico che tutte le centrali GAT_A e GAT_Z del file VECCHIO siano presenti nel file NUOVO
- Fogli analizzati: per RA verifica il foglio
archi, per RC verifica il fogliocollegamenti - Report anomalie: identifica centrali mancanti o con dati non allineati tra le due versioni
- Auto-detection tipo file: riconosce automaticamente se il DB caricato è RA, RC o entrambi
Prima di aggiornare il DB in produzione, utilizza sempre il Confronto DB Excel per verificare che non siano state rimosse accidentalmente centrali o collegamenti essenziali. La verifica GAT è particolarmente utile per controllare la consistenza delle centrali di interconnessione.
11. Marker Centrali su Mappa
Visualizzazione delle centrali di inizio e fine per ogni collegamento sulla mappa dei percorsi:
- Marker circolari blu con popup informativo
- Nome Centrale e CLLI visibili al click
- Deduplicazione automatica delle centrali ripetute
- Supporto completo per DB RA e DB RC
12. Filtro POP (NODO A1)
Toggle per filtrare le 32 centrali POP nazionali (NODO A1) come destinazione percorsi:
- Attivabile nei campi "Centrale di Arrivo" di entrambe le sezioni RC e RA
- Lista delle 32 centrali POP: ROMA, MILANO, TORINO, NAPOLI, BOLOGNA, FIRENZE, ecc.
- Match esatto sul CLLI (evita centrali omonime)
- Placeholder dinamico con indicatore visivo rosso quando attivo
13. Colorazione e Conteggio Collegamenti RA
Sistema di colorazione semantica e conteggio personalizzato per i collegamenti RA:
- Verde (T1↔T2, T2↔T2): Collegamenti principali, contano 1 ciascuno
- Blu TIM (T2↔T3): Collegamenti intermedi, contano 0.5 (ogni 2 = 1)
- Standard (T3↔T3): Collegamenti di transito, non contano
- Centrali di partenza e arrivo evidenziate in grassetto
- Percorsi diversificati automatici verso altra Tipo 1 sullo stesso arco
14. Gestione Archi Multipli e Selezione Obbligatoria (RA)
Sistema di rilevamento e gestione quando due centrali appartengono a più archi compatibili:
- Rilevamento automatico: il sistema verifica se le centrali di Partenza e Arrivo sono presenti su più archi
- Mini-label di avviso: quando gli archi compatibili sono multipli, compare il messaggio "⚠️ Più archi compatibili: seleziona 1 arco nella sezione Filtro per Arco per calcolare"
- Selezione obbligatoria: prima di calcolare il percorso, è necessario selezionare un singolo arco dal filtro "🔍 Filtro per Arco (Checkbox)"
- Disambiguazione percorso: la selezione dell'arco determina univocamente il percorso da calcolare lungo quella specifica direttrice
- Bottone [Premi Qui]: se una centrale appartiene a più archi, appare un bottone per visualizzare la lista completa degli archi
Se selezioni AVEZZANO come Partenza e L'AQUILA come Arrivo, ed entrambe appartengono sia all'arco AM_arco_xxx
che a AM_arco_yyy, il sistema ti chiederà di scegliere quale arco utilizzare prima di calcolare il percorso.
15. Ricerca Multi-Path (RA)
Funzionalità avanzata per calcolare tutti i percorsi su tutti gli archi compatibili tra due centrali:
- 🔀 Multi-Path: bottone dedicato che calcola contemporaneamente i percorsi Std su ogni arco condiviso tra Partenza e Arrivo
- Tabella risultati estesa: mostra una riga per ogni arco con colonna dedicata "🔗 Arco" che identifica l'arco di appartenenza
- Percorsi Div per arco: ogni riga ha un bottone "▶ Percorso Div" per calcolare il percorso diversificato specifico per quell'arco
- Visualizzazione mappa singola: bottone "🗺️" per visualizzare sulla mappa il singolo percorso di un arco specifico
- Mappa Multi-Path: visualizza tutti i percorsi di tutti gli archi sulla stessa mappa per un confronto visivo immediato
- Export TXT Multi-Path: esporta tutti i percorsi con indicazione dell'arco di appartenenza e eventuale Div calcolato
Ideale quando devi confrontare rapidamente tutte le opzioni di instradamento tra due centrali che appartengono a più archi. Invece di selezionare un arco alla volta, ottieni una vista d'insieme immediata con distanze, collegamenti e possibilità di diversificazione per ogni arco.
16. Ricerca Percorso Unificato (RA + RC)
Tab dedicato alla ricerca percorsi attraverso entrambe le reti RA e RC in modo integrato:
- 📍 Posizione Cliente: geocodifica indirizzi e trova automaticamente la centrale più vicina (RA o RC)
- 🔎 Trova Centrale Vicina: cerca nelle reti RA (Tipo 1/2) e RC simultaneamente usando algoritmo Haversine
- 🚀/🏁 Inserisci Partenza/Arrivo: toggle per scegliere dove inserire la centrale trovata
- 👥 Modalità Cliente Sede A → Rete → Sede Z: inserendo coordinate di due clienti, trova automaticamente le centrali più vicine e calcola il percorso ottimale
- 🔗 Interconnessione RA↔RC / RC↔RA: avviene automaticamente sui nodi con stesso CLLI (tipicamente [T1]/NODO A1). Inoltre il passaggio da un Arco RA a un altro Arco RA (RA↔RA) avviene tra sedi T1 e/o T2.
- Mix RA/RC: la colonna "Mix" nei risultati mostra la composizione del percorso (es. RA:3 • RC:2)
- 🔵 Filtro POP: filtra solo le centrali NODO A1 come destinazione
Tipo 1 [T1] = HUB RA+RC (NODO A1, interconnesso con Rete Core) • Tipo 2 [T2] = HUB RA (aggrega traffico verso T1) • Tipo 3 [T3] = Passaggio (solo transito, non selezionabile come endpoint)
17. Memo e Promemoria S.d.F.
Sistema completo per la gestione dei promemoria associati alle Schede di Fattibilità:
- 📝 Bottone Header: accesso rapido al pannello Memo dal bottone 📝 nell'header della pagina
- Badge Contatore: mostra il numero di memo attivi direttamente sul bottone
- 👤 Colonna Cliente: visualizzazione del cliente nella tabella memo
- Memo Manuali: creazione di promemoria personalizzati con tutti i campi modificabili
- Import da S.d.F.: importazione memo direttamente dalla tabella S.d.F. Internalizzati con tutti i campi precompilati (incluso Cliente, Lavorante, Territorio, ecc.)
- Alert Scadenze: configurazione alert da 0 a 30 giorni prima della scadenza
- Campi Memo: Fattibilità, Cliente, Data Scadenza, Note, Alert, Esito, Tipo, Priorità
- Gestione Completa: modifica, elimina, cerca memo esistenti
- Export CSV: esportazione di tutti i memo in formato CSV
- 📊 Export Excel "Diario Lavoro": esportazione in formato Excel con:
- Fogli separati per ogni lavorante
- Formule automatiche per data e numero settimana
- Larghezza colonne auto-fit, bordi minimal
- Colonne CLIENTE e NOTE: 400px con word wrap
- Colonne: ID, Date, Esito, Fattibilità, Tipo, Territorio, Provincia, Comune, Cliente, Interventi, Priorità, Note
- Persistenza: i memo sono salvati in localStorage e persistono tra le sessioni
- Distinzione Importati/Manuali: i memo importati hanno alcuni campi bloccati, quelli manuali sono completamente modificabili
1. Carica il file Excel nel tab "Dashboard S.d.F. Internalizzati" • 2. Seleziona le S.d.F. da monitorare nella tabella dettaglio • 3. Clicca "📝 Aggiungi a Memo" per importarle • 4. Configura gli alert personalizzati per ogni memo • 5. Usa "📊 Export Excel" per generare il Diario Lavoro con fogli per lavorante
18. Filtri Stati Collegamenti
Pannello espandibile per filtrare i percorsi in base allo stato dei collegamenti:
- 🔽 Bottone Filtri Stati: toggle per aprire/chiudere il pannello filtri in ogni tab (RC, RA, Unificato)
- Filtri RA: Attivo, Non Attivo [DA VERIFICARE SU NNI], In Attivazione, Da Verificare su NNI (4 stati)
- Filtri RC: Attivo, Non Attivo, In Attivazione, In Variazione, In Reinstradamento (5 stati)
- Applicazione istantanea: i filtri si applicano in tempo reale ai risultati della ricerca
- Persistenza scope: i filtri selezionati sono separati per ogni tab e vengono ricordati
19. Comparatore a 3 Percorsi
Sistema avanzato per confrontare visivamente fino a 3 percorsi affiancati:
- ⚖️ Bottone Confronta: attiva il comparatore quando sono disponibili almeno 2 percorsi
- Selettori colorati: 🔵 Percorso A (blu), 🔴 Percorso B (rosso), 🟢 Percorso C (verde)
- Metriche confrontate: distanza km, numero hop, lista collegamenti con stato colorato
- Formato percorso: Nome (CLLI) [TipoSede] :RA: oppure Nome (CLLI) :RC:
- Overlap %: calcolo automatico della percentuale di sovrapposizione tra percorsi
- Evidenziazione: il percorso migliore/peggiore per ogni metrica viene evidenziato
- Titolo dinamico: mostra centrali partenza→arrivo con CLLI e TipoSede
20. Condivisione Ricerche
Funzionalità per generare e condividere link con parametri di ricerca preconfigurati:
- 🔗 Bottone Condividi: genera un codice/link condivisibile con tutti i parametri attuali
- Parametri inclusi: centrali partenza/arrivo, filtri, vincoli obbligatori/evitare
- Toggle comportamento: clic ripetuto chiude il pannello di condivisione
- Auto-chiusura: il pannello si chiude automaticamente dopo 10 secondi
- Copia clipboard: bottone per copiare il codice negli appunti
21. Dark Mode Completo
Modalità scura completa per ridurre l'affaticamento visivo in ambienti con poca luce:
- 🌙 Toggle Header: pulsante nell'header per attivare/disattivare la modalità scura
- 21+ elementi corretti: popup, tabelle, card, form, cronologia, paginazione
- Persistenza: la preferenza viene salvata e ricordata tra le sessioni
- Box colorati preservati: i box nella documentazione mantengono i colori originali
- Blocchi codice: testo bianco su sfondo scuro per leggibilità ottimale
22. Calendario Memo con Scadenze
Visualizzazione calendario interattivo delle scadenze nel popup Memo:
- 📅 Tab Calendario: secondo tab nel popup Memo per vista calendario mensile
- Navigazione mesi: bottoni ◀ ▶ per navigare tra i mesi, bottone "Oggi" per tornare alla data corrente
- Evidenziazione scadenze: i giorni con scadenze sono evidenziati in giallo, quelli urgenti in rosso
- Badge contatore: ogni giorno mostra il numero di scadenze presenti
- Dettaglio scadenze: cliccando su un giorno, mostra l'elenco delle S.d.F. in scadenza
- Layout ottimizzato: calendario fisso in alto, lista scadenze scrollabile sotto
- Popup adattivo: il popup è più alto (95vh) quando nel tab Calendario
23. Analisi Rete (V35.00)
Tab dedicato alla ricerca e analisi di Subpath, Archi e Collegamenti con routing alternativo avanzato:
- 🔍 Ricerca Unificata RA+RC: cerca Subpath, Archi o IdCollegamento (Ramo) nel database unificato:
- Stato del collegamento nel database (ATTIVO/NON ATTIVO/MISTO)
- Dettagli: centrali estreme, TipoSede, distanza km
- Visualizzazione record corrispondenti con tutti i campi
- 🔀 Routing Alternativo BFS: algoritmo Breadth-First Search per trovare percorsi alternativi:
- SENZA LIMITI di hop intermedi (safety limit: 50.000 iterazioni)
- Rete UNIFICATA RA+RC: i percorsi possono attraversare entrambe le reti
- Esclusione automatica del subpath cercato dal routing
- Esclusione automatica centrali Data Center (17 sedi IDC)
- Ordinamento risultati: prima per numero hop, poi per km
- 🏷️ Badge Source Colorati: identificazione visiva della provenienza:
- 🔵 RA (blu): percorso su sola Rete Aggregazione
- 🔴 RC (rosso): percorso su sola Rete Core
- 🟣 RA+RC (viola): percorso misto su entrambe le reti
- 📊 Impatto Fattibilità: integrazione con Analisi Collegamenti Critici DWDM per vedere quante fattibilità sono impattate dal subpath cercato
- 📄 Export TXT: report completo con stato, centrali, percorsi alternativi e impatto
- 🌙 Dark Mode: supporto completo per la modalità scura
Cerca un Subpath "NON ATTIVO" per verificare se esistono routing alternativi. Il sistema troverà tutti i percorsi possibili tra le stesse centrali estreme, mostrando hop, distanza e indicando se il percorso usa RA, RC o entrambe.
24. Analisi Collegamenti Critici DWDM (V35.00)
Tab per analisi Subpath RA/RC critici nelle fattibilità DWDM (ex "Occupazione Rete"):
- 📁 Caricamento Excel: import file "Occupazione_della_Rete_*.xlsx" per analisi fattibilità DWDM:
- Elaborazione locale nel browser (nessun upload server)
- Supporto per tutti i formati ExcelJS (.xlsx, .xls)
- 📈 Dashboard KPI: statistiche real-time delle fattibilità caricate:
- Fattibilità Totali: numero totale di record caricati
- Subpath RA Attivi/Non Attivi: conteggio e lista unici
- Subpath RC Attivi/Non Attivi: conteggio e lista unici
- 🔴 Subpath Critici Non Attivi: identificazione immediata dei subpath problematici:
- Lista dei Subpath RA Non Attivi utilizzati nelle fattibilità
- Lista dei Subpath RC Non Attivi utilizzati nelle fattibilità
- Conteggio occorrenze per ogni subpath critico
- 📊 Top 10 Subpath: classifica dei subpath più utilizzati nelle fattibilità
- 🔍 Filtri: ricerca per Lavorante, Tipo, Servizio
- 📋 Tabella Fattibilità: vista dettagliata con ordinamento e filtri
- 🌙 Dark Mode: supporto completo per la modalità scura
1. Carica il file Excel nel tab "Analisi Collegamenti Critici DWDM" • 2. Identifica i Subpath Critici Non Attivi nella dashboard • 3. Vai nel tab "Analisi Rete" e cerca ogni subpath critico • 4. Verifica routing alternativi disponibili per ogni subpath NON ATTIVO
25. Vincoli Collegamenti (SubPath/Arco/Ramo) — V35.00
Nuova funzionalità nei tab Ricerca Percorso RC e Unificato (RA+RC) per vincolare il routing a specifici collegamenti:
- ✅ Collegamento Obbligatorio: forza il passaggio attraverso uno o più collegamenti/SubPath/archi specificati:
- Match su IdCollegamento, Nome_SubPath, ID_ARCO (tutti i campi)
- Ricerca parziale case-insensitive
- Autocomplete con dropdown al focus (senza digitare)
- ➕ Sel. Multipla: imponi più collegamenti contemporaneamente
- Tag visivi verdi rimovibili
- 🚫 Collegamento da Evitare: esclude uno o più collegamenti dal routing:
- Stessa logica di match del collegamento obbligatorio
- ➕ Sel. Multipla: escludi più collegamenti in un'unica azione
- Tag visivi gialli rimovibili
- Nessun percorso con questi collegamenti apparirà nei risultati
- 🔄 Database RC e RA: nel tab Unificato la ricerca avviene su entrambi i database
Devi forzare il routing attraverso un SubPath specifico (es. "TO_MO_123") oppure evitare un collegamento in manutenzione? Usa i Vincoli Collegamenti per ottenere solo i percorsi che rispettano questi criteri.
26. Sistema Messaggi Toast/Popup (V31.04)
Sistema di notifiche moderno e unificato che sostituisce gli alert browser nativi con feedback visivi eleganti e non intrusivi:
- 🔔 Toast Notifications: messaggi non-bloccanti posizionati in alto a destra:
- 4 tipi: ✅ success (verde), ❌ error (rosso), ⚠️ warning (ambra), ℹ️ info (blu)
- Auto-dismiss dopo 3 secondi con progress bar animata
- Stacking automatico (max 5 toast visibili)
- Dismissable con click
- 💬 Popup Modali: finestre di dialogo per messaggi importanti:
- Backdrop blur con overlay scuro per focus
- Animazioni entrata/uscita fluide (scale + fade)
- Supporto bottoni multipli personalizzati
- Focus trap e chiusura con tasto Escape
- ⚡ Logica Intelligente: scelta automatica del tipo di notifica:
- Toast: messaggi SUCCESS e INFO brevi (<150 caratteri, <3 righe)
- Popup: messaggi WARNING e ERROR (sempre, qualsiasi lunghezza)
- Popup: messaggi lunghi (>150 caratteri o >3 righe)
- ♿ Accessibilità: rispetto degli standard WCAG:
- Animazioni ridotte se prefers-reduced-motion attivo
- ARIA labels per screen readers
- Focus management per navigazione tastiera
- Contrasto colori adeguato
"Dati copiati negli appunti" → Toast success (feedback rapido)
"Nessuna centrale trovata" → Popup warning (richiede attenzione)
"Errore di connessione" → Popup error (problema critico)
"Seleziona almeno una centrale..." → Popup info (messaggio lungo)
🧮 Algoritmi Dettagliati
Implementazione tecnica degli algoritmi di routing e ottimizzazione
Algoritmo Dijkstra Modificato
Il core di CRO utilizza una variante ottimizzata dell'algoritmo di Dijkstra per trovare i K-shortest paths (K=30) in un grafo pesato rappresentante la rete RC Italia.
- Tempo: O(K × (|E| + |V|log|V|)) dove K=30, |E|=5700, |V|=500
- Spazio: O(|V| + |E|) = O(6200) ~ 6KB per grafo in memoria
- Performance reale: ~200ms su Chrome/Firefox, ~150ms su Safari
Pseudocodice Dijkstra con Vincoli
function dijkstraWithConstraints(graph, start, end, constraints):
// Inizializzazione
distances = Map() // distanza minima da start
previous = Map() // nodo predecessore
pqueue = PriorityQueue() // coda priorità (min-heap)
// Imposta distanze iniziali
for each node in graph.nodes:
distances[node] = INFINITY
previous[node] = NULL
distances[start] = 0
pqueue.push(start, 0)
while pqueue is not empty:
current = pqueue.pop()
if current == end:
break // Percorso trovato
for each neighbor in graph.neighbors(current):
// Applica vincoli
if isBlacklisted(neighbor, constraints):
continue
if !meetsConstraints(neighbor, constraints):
continue
// Calcola distanza attraverso current
alt = distances[current] + graph.weight(current, neighbor)
if alt < distances[neighbor]:
distances[neighbor] = alt
previous[neighbor] = current
pqueue.push(neighbor, alt)
// Ricostruisci percorso
return reconstructPath(previous, start, end)
Algoritmo Path Diversification (Div)
Per calcolare i 10 percorsi alternativi diversificati (Div), CRO implementa un algoritmo di penalizzazione archi per garantire overlap massimo 30% rispetto al percorso primario 1.1.
Per ogni percorso alternativo, gli archi già utilizzati nel percorso 1.1 ricevono una penalità moltiplicativa di 10x sul peso. Questo forza Dijkstra a esplorare percorsi fisicamente diversi pur mantenendo ottimizzazione distanza. L'overlap è validato post-calcolo: se >30%, il percorso è scartato.
function calculateDiversifiedPaths(graph, start, end, primaryPath):
diversifiedPaths = []
primaryEdges = Set(primaryPath.edges)
for i = 1 to 10:
// Penalizza archi del percorso primario
tempGraph = graph.clone()
for each edge in primaryEdges:
tempGraph.weight(edge) *= 10
// Calcola percorso alternativo
altPath = dijkstra(tempGraph, start, end)
// Valida overlap
overlap = calculateOverlap(altPath, primaryPath)
if overlap <= 0.30:
diversifiedPaths.push(altPath)
// Aggiungi archi di altPath al set di penalizzazione
primaryEdges.addAll(altPath.edges)
if diversifiedPaths.length >= 10:
break
return diversifiedPaths
Validazione Topologica
CRO esegue validazioni automatiche su ogni percorso calcolato:
- Connessione Fisica - Ogni hop deve essere un collegamento esistente in LINKS
- Rispetto Vincoli - Centrali obbligatorie presenti, blacklist rispettate
- Range Distanza - Distanza totale tra min/max specificati
- Range Collegamenti - Numero hop tra min/max specificati
- Stato Collegamenti - Se "Solo NON ATTIVI" attivo, tutti gli hop devono essere NON_ATTIVO
- Tipo Centrali - Validazione sequenze Tipo 1 ↔ Tipo 2 (Tipo 3 trasparente)
- No Loops - Nessuna centrale visitata più volte nel percorso
Eliminazione Duplicati
Percorsi identici (stessa sequenza centrali) vengono eliminati tramite hash-based deduplication.
Hash calcolato: SHA256(centrali.join('-')). Complessità: O(N) con N=numero percorsi.
🗄️ Database Schema
Struttura dati, relazioni e indicizzazione del repository RC Italia
Schema Centrali (NODES)
Ogni centrale è rappresentata da un oggetto JSON con i seguenti campi:
| Campo | Tipo | Descrizione | Esempio |
|---|---|---|---|
GAT_A / GAT_Z |
String | Nome completo centrale | "PESCARA" |
CLLI_A / CLLI_Z |
String | Common Language Location ID (ITU-T) | "PESCITAL" |
Lat_GAT_A / Lat_GAT_Z |
Number | Latitudine WGS84 (6 decimali) | 41.891234 |
Lon_GAT_A / Lon_GAT_Z |
Number | Longitudine WGS84 (6 decimali) | 12.512345 |
Zona |
String | Zona amministrativa | RC > "RM" • RA > "RMLO" |
Area |
Enum | Macro-area | "CENTRO" |
Regione |
String | Regione italiana | "Lazio" |
TipoSedeA / TipoSedeZ |
Enum | Classificazione centrale | RC > N/D • RA > "Tipo 1", "Tipo 2", "Tipo 3" |
Schema Collegamenti (LINKS)
Ogni collegamento è rappresentato da un oggetto JSON con i seguenti campi:
| Campo | Tipo | Descrizione | Esempio |
|---|---|---|---|
IdCollegamento |
String/Number | Identificativo univoco collegamento | RC > "CAM001" • RA > "AM_arco_101|AM_12|AAM003/1|1" |
CLLI_A |
String | ID centrale di partenza | RC > "PESCITAL" • RA > "ATRIITAE" |
CLLI_Z |
String | ID centrale di arrivo | RC > "PESCITAK" • RA > "SILVITAC" |
GAT_A |
String | Nome centrale origine | RC > "PESCARA" • RA > "PESCARA TIBURTINA" |
GAT_Z |
String | Nome centrale destinazione | RC > "ATRI 2" • RA > "PINETO" |
Distanza_km |
Number | Distanza in km (2 decimali) | RC > "3.07" • RA > "11.69" |
Stato_IdCollegamento |
Enum | Stato operativo | RC > "NON ATTIVO" • RA > "ATTIVO" |
Zona |
String | Zona amministrativa | RC > "AM" • RA > "AM" |
Arco |
String | Segmento rete/dorsale | RC > N/D • RA > "AM_arco_101" |
Prog (Ramo/Arco) |
String | Progressivo di rete | RC > N/D • RA > "1" |
Relazioni e Integrità Referenziale
Relazioni implementate:
- LINKS.from → NODES.id (foreign key)
- LINKS.to → NODES.id (foreign key)
- Validazione: Al caricamento, tutti i from/to devono esistere in NODES
- Cascading: Non applicabile (database read-only in produzione)
Indicizzazione e Performance
Indici creati per query ottimali:
| Indice | Campi | Tipo | Use Case |
|---|---|---|---|
| PRIMARY_NODES | id | Hash | Lookup O(1) per ID centrale |
| PRIMARY_LINKS | id | Hash | Lookup O(1) per ID collegamento |
| IDX_NODES_NAME | name | B-Tree | Ricerca per nome O(log N) |
| IDX_NODES_CLLI | clli | Hash | Ricerca per CLLI O(1) |
| IDX_LINKS_FROM | from | Hash | Query neighbors O(1) |
| IDX_LINKS_TO | to | Hash | Query incoming links O(1) |
| IDX_LINKS_STATO | stato | Bitmap | Filtro per stato O(1) |
Formato Storage JSON
Esempio record completo:
"NODES" e "LINKS"
Estratti dal DA RA e DB RC
var RAW_DB = [
{
"IdCollegamento": "CAM001",
"DR": NaN,
"Vendor": "HUAWEI",
"GAT_A": "PESCARA",
"CLLI_A": "PESCITAL",
"TipoSedeA": NaN,
"Lat_GAT_A": 42.468478,
"Lon_GAT_A": 14.209443,
"GAT_Z": "PESCARA TIBURTINA",
"CLLI_Z": "PESCITAK",
"TipoSedeZ": "-",
"Lat_GAT_Z": 42.451796,
"Lon_GAT_Z": 14.202591,
"Distanza_km": 3.07,
"Zona": "AM",
"Regione": "Abruzzo + Molise",
"Area": "CENTRO",
"Tipo": "-",
"TipoPortante": "DWDM",
"IdCavo": "-",
"SubPath": "-",
"Stato_IdCollegamento": "NON ATTIVO",
"Note": "-"
}
....
var RAW_DB_RA = [
{
"IdCollegamento": "AM_arco_101|AM_12|AAM003/1|1",
"DR": "AM",
"Vendor": "HUAWEI",
"GAT_A": "ATRI 2",
"CLLI_A": "ATRIITAE",
"TipoSedeA": 2,
"Lat_GAT_A": "42.578437",
"Lon_GAT_A": "13.983768",
"GAT_Z": "PINETO",
"CLLI_Z": "SILVITAC",
"TipoSedeZ": 2,
"Lat_GAT_Z": "42.608746",
"Lon_GAT_Z": "14.063255",
"Distanza_km": 11.69,
"Zona": "AM",
"Regione": "Abruzzo / Molise",
"Area": "CENTRO",
"Tipo": "S",
"TipoPortante": "C-FOS",
"IdCavo": "ATRIITAE/SILVITAC/C-FOS/00001",
"SubPath": "AAM003/1",
"Stato_IdCollegamento": "ATTIVO",
"Note": null,
"IdCollegamento (Ramo)": "AM_12",
"Arco": "AM_arco_101",
"Prog (Ramo/Arco)": 1
}
....
🔌 API Reference
Funzioni JavaScript pubbliche e interfacce programmabili
Funzioni Core di Routing
runBaseRoutesSearch()
Descrizione: Esegue ricerca percorsi con parametri da form
Parametri: Nessuno (legge da DOM)
Return: void (aggiorna UI con risultati)
Side Effects: Popola variabile globale currentRoutes
// Esempio uso
document.getElementById('btn-search').onclick = runBaseRoutesSearch;
calculateShortestPath(startId, endId, constraints)
Descrizione: Calcola singolo percorso shortest path
Parametri:
startId(String) - ID centrale partenzaendId(String) - ID centrale arrivoconstraints(Object) - Vincoli opzionali
Return: Object {path: Array, distance: Number, hops: Number}
// Esempio uso
const result = calculateShortestPath('ROMA001', 'MILANO001', {
mandatory: ['FIRENZE001'],
blacklist: ['BOLOGNA001'],
maxDistance: 600
});
console.log(result.path); // ['ROMA001', 'FIRENZE001', 'MILANO001']
Funzioni Database
searchNodes(query)
Descrizione: Ricerca centrali per ID/Nome/CLLI
Parametri: query (String) - Termine di ricerca
Return: Array di oggetti Node
// Esempio uso
const results = searchNodes('ROMA');
results.forEach(node => console.log(node.name));
getNodeById(id)
Descrizione: Recupera centrale per ID
Parametri: id (String) - ID centrale
Return: Object Node o null
Complessità: O(1) tramite hash map
Funzioni Mappa
drawRouteOnMap(route, color)
Descrizione: Disegna percorso su mappa Leaflet
Parametri:
route(Array) - Array di ID centralicolor(String) - Colore linea (hex/nome)
Return: Leaflet.Polyline object
// Esempio uso
const polyline = drawRouteOnMap(['ROMA001', 'FIRENZE001'], '#0066CC');
polyline.bindPopup('Percorso ROMA-FIRENZE');
Funzioni Export
exportRoutesTxt(routes)
Descrizione: Genera export TXT formattato
Parametri: routes (Array) - Array di oggetti Route
Return: String (contenuto file TXT)
Formato: CR/GI compliant con intestazioni
Eventi e Callbacks
| Evento | Trigger | Payload |
|---|---|---|
routes:calculated |
Calcolo percorsi completato | {routes: Array, time: Number} |
route:selected |
Click su riga percorso | {routeId: String, route: Object} |
map:ready |
Inizializzazione mappa completa | {mapInstance: Leaflet.Map} |
database:loaded |
Caricamento database completato | {nodes: Number, links: Number} |
🔧 Troubleshooting Avanzato
Guida alla risoluzione problemi, error codes e debug workflow
Catalogo Error Codes
| Codice | Messaggio | Causa | Soluzione |
|---|---|---|---|
ERR_001 |
Centrale non trovata | ID inesistente in database | Verificare ID in tab Database |
ERR_002 |
Nessun percorso trovato | Vincoli troppo restrittivi / Rete disconnessa | Ridurre vincoli o verificare connettività |
ERR_003 |
Distanza fuori range | Min > Max in vincoli distanza | Correggere range min/max |
ERR_004 |
Centrale start = end | Stessa centrale per A e Z | Selezionare centrali diverse |
ERR_005 |
Timeout calcolo | Calcolo > 30 secondi | Semplificare vincoli o ricaricare pagina |
ERR_006 |
Mappa non caricata | Tiles OSM non disponibili | Verificare connessione internet |
ERR_007 |
Export fallito | Browser block download/clipboard | Permettere download nei settings browser |
Debug Workflow Step-by-Step
- Step 1: Verifica esistenza centrali in Database
- Step 2: Controlla vincoli distanza min/max (non troppo restrittivi?)
- Step 3: Verifica blacklist (non stai bloccando tutte le vie?)
- Step 4: Controlla filtro "Solo NON ATTIVI" (deseleziona se non necessario)
- Step 5: Prova con percorso semplice senza vincoli per testare connettività
- Step 6: Se persiste, probabile rete disconnessa tra A e Z
- Step 1: Chiudi tab browser non utilizzati (libera RAM)
- Step 2: Ricarica pagina CRO (clear state)
- Step 3: Riduci numero percorsi da 30 a 10 (modifica codice)
- Step 4: Disabilita rendering mappa durante calcolo
- Step 5: Usa browser moderno (Chrome/Firefox > Edge/Safari)
- Step 6: Controlla Task Manager: CPU/RAM disponibili?
Log Analysis
Console Browser - Messaggi Chiave da Monitorare:
// Log successo
[CRO] Database caricato: 500 centrali, 5700 collegamenti
[CRO] Calcolo completato in 187ms: 30 percorsi trovati
// Log warning
[CRO] Warning: Blacklist contiene 50% centrali - percorsi limitati
[CRO] Warning: Timeout OSRM - routing stradale non disponibile
// Log errore
[CRO] Error ERR_002: Nessun percorso tra ROMA001 e ISOLA_X
[CRO] Error: Mappa non inizializzata - retry in 2s
Problemi Comuni e Fix Rapidi
Fix: Controlla popup blocker browser. Prova tasto destro → "Salva con nome" sul link generato.
Fix: Verifica connessione internet. OpenStreetMap tiles richiede connessione attiva. No offline mode.
Fix: localStorage pieno (max 5MB). Clear con F12 → Application → Storage → Clear all.
Fix: Controlla coordinate inserite (WGS84 required). Lat 35-47, Lon 6-19 per Italia.
⚡ Performance Tuning
Ottimizzazioni, benchmark e best practices per massime prestazioni
Benchmark Reference
Tempi medi su hardware standard (Intel i5, 8GB RAM, Chrome):
| Operazione | Tempo Medio | Worst Case | Best Case |
|---|---|---|---|
| Caricamento Database | 150ms | 300ms | 80ms |
| Calcolo 30 Percorsi | 200ms | 800ms | 120ms |
| Rendering Mappa (30 routes) | 400ms | 1200ms | 250ms |
| Export TXT | 50ms | 150ms | 20ms |
| Ricerca Database | 5ms | 20ms | 1ms |
| Geocoding Indirizzo | 500ms | 3000ms | 200ms |
Ottimizzazioni Implementate
Database caricato progressivamente in chunk da 1000 records. Interfaccia disponibile immediatamente, popolamento database in background. Risparmio: 80% perceived load time.
Cache dei risultati Dijkstra per query identiche. Hash basato su (start, end, constraints). Hit rate: 35% su utilizzo tipico. Risparmio: 200ms per hit.
Rendering solo righe visibili in viewport. Per tabelle >1000 righe. Risparmio: 90% DOM nodes, 70% render time.
Search input con debounce 300ms. Previene ricerche continue durante digitazione. Riduzione: 80% query inutili.
Best Practices Utilizzo
- Chiudi tab non utilizzati - CRO usa ~150MB RAM, libera risorse
- Usa Chrome o Firefox - Engine JavaScript 20% più veloce di Safari/Edge
- Limita vincoli - Ogni vincolo aggiuntivo aumenta complessità ~15%
- Calcola percorsi in batch - Evita calcoli singoli ripetuti
- Disabilita rendering mappa durante batch - 3x speedup su operazioni massive
- Clear localStorage periodicamente - Ogni 50 ricerche per prevenire slow-down
- Ricarica pagina dopo 100+ operazioni - Memory leaks minimi ma presenti
Configurazioni Avanzate (Sviluppatori)
// File: config.js - Performance Tuning
// Numero max percorsi da calcolare (default: 30)
const MAX_PRIMARY_ROUTES = 30; // Riduci a 10 per +70% speed
// Timeout calcolo (default: 30000ms)
const CALCULATION_TIMEOUT = 30000; // Aumenta se network complex
// Cache size (default: 100)
const CACHE_SIZE = 100; // Aumenta a 500 per +10% hit rate
// Virtual scrolling threshold (default: 1000)
const VIRTUAL_SCROLL_THRESHOLD = 1000; // Riduci a 500 per low-end
// Debounce delay (default: 300ms)
const DEBOUNCE_DELAY = 300; // Riduci a 150ms per UX più reattiva
🔗 Integrazioni
Export formati, tool esterni compatibili e API endpoints
Formati Export Supportati
Descrizione: Formato human-readable CR/GI compliant
Struttura:
PERCORSI PRIMARI (Std):
===================================
1.1 | ROMA SUD → FIRENZE NORD → MILANO CENTRO | 476.32 km | 2 hop
Collegamenti: LINK001, LINK045
ID: ROMA001-FIRENZE001-MILANO001
PERCORSI ALTERNATIVI (Div):
===================================
2.1 | ROMA SUD → BOLOGNA EST → MILANO CENTRO | 512.10 km | 2 hop
Collegamenti: LINK078, LINK123
Overlap: 15%
Encoding: UTF-8 with BOM
Use Case: Report cartacei, email, documentazione
Descrizione: Formato machine-readable per elaborazioni
Schema:
ID,Tipo,Centrali,Collegamenti,Distanza_km,Hop
1.1,Primario,"ROMA SUD|FIRENZE NORD|MILANO","LINK001|LINK045",476.32,2
2.1,Alternativo,"ROMA SUD|BOLOGNA EST|MILANO","LINK078|LINK123",512.10,2
Delimiter: Virgola (,) | Separator interno: Pipe (|)
Use Case: Import Excel, elaborazioni Python, database
Tool Esterni Compatibili
| Tool | Formato | Procedura Import | Use Case |
|---|---|---|---|
| Microsoft Excel | CSV | Data → From Text/CSV → Import | Analisi statistica, pivot tables |
| Python Pandas | CSV | pd.read_csv('routes.csv') |
Machine learning, data science |
| Google Sheets | CSV | File → Import → Upload CSV | Collaborazione team, report online |
| QGIS | JSON + Coordinates | Custom script Python | GIS analysis, mapping avanzato |
| Power BI | CSV | Get Data → Text/CSV | Business intelligence, dashboard |
API Endpoints (Future Release)
Roadmap per integrazione backend:
⏳ Previsto Q2 2026:
POST /api/v1/routes/calculate- Calcolo percorsi via RESTGET /api/v1/database/nodes- Query centraliGET /api/v1/database/links- Query collegamentiPOST /api/v1/export- Export programmato batch
Workflow Integrazione Tipico
- Esegui ricerca percorsi in CRO con vincoli desiderati
- Export CSV → Salva come
routes.csv - Import in Python:
df = pd.read_csv('routes.csv') - Analizza:
df['Distanza_km'].describe() - Visualizza:
df['Distanza_km'].plot.hist() - Report: Generate PDF con matplotlib
📖 Glossario Tecnico
Terminologia DWDM, telecomunicazioni e standard ITU-T
A-D
- Attenuazione (α)
- Perdita di potenza segnale ottico lungo fibra. Unità: dB/km. Valori tipici: 0.22 dB/km @ 1550nm (SM)
- CLLI (Common Language Location Identifier)
- Codice standard ITU-T E.164 per identificazione univoca centrali/siti. Formato: 8-11 caratteri alfanumerici
- CR/GI (Change Request / Gestione Impianti)
- Processi Telecom Italia per richieste modifiche rete e gestione asset infrastrutturali
- Dijkstra
- Algoritmo greedy per shortest path in grafi pesati. Complessità: O(|E| + |V|log|V|) con Fibonacci heap
- DWDM (Dense Wavelength Division Multiplexing)
- Tecnologia multiplexing ottico con 40-80+ canali su singola fibra. Spacing: 50 GHz (ITU-T G.694.1)
E-H
- EDFA (Erbium-Doped Fiber Amplifier)
- Amplificatore ottico per banda C (1530-1565 nm). Gain tipico: 20-30 dB
- GAT
- Codice identificativo interno Telecom Italia per gestione asset territoriali
- Haversine
- Formula trigonometrica per calcolo distanza ortodromica (great-circle) su sfera. Errore <0.5% per distanze <1000 km
- Hop
- Singolo collegamento tra due centrali adiacenti. Count: numero totale collegamenti in un percorso
I-O
- ITU-T (International Telecommunication Union - Telecom)
- Organismo standardizzazione internazionale telecomunicazioni. Standard rilevanti: G.652 (fibra), G.694.1 (DWDM)
- K-Shortest Paths
- Algoritmo per trovare K percorsi più corti (non solo il migliore). CRO: fino a K=300 per primari (default: 30), K=10 per alternativi
- Leaflet
- Libreria JavaScript open-source per mappe interattive. Lightweight (39 KB gzipped)
- Monomodale (SM - Single Mode)
- Fibra ottica con core 9 μm. Per lunghe distanze (>2 km). Bande: O, E, S, C, L
- Nominatim
- Geocoding engine OpenStreetMap. API pubblica con rate limit: 1 req/sec
- Overlap
- Percentuale archi condivisi tra due percorsi. Formula: (Archi_comuni / Archi_totali) × 100
- OSRM (Open Source Routing Machine)
- Engine routing stradale basato su OpenStreetMap. Algoritmo: Contraction Hierarchies
P-Z
- Percorso Primario (Std)
- Percorso ottimizzato per distanza minima senza penalizzazioni. CRO calcola fino a 300 percorsi Std (default: 30)
- Percorso Alternativo (Div)
- Percorso diversificato con overlap <30% vs 1.1. Per ridondanza e disaster recovery
- RA Italia (Rete Aggregation Italia)
- Rete di aggregazione TIM che raccoglie traffico dalle centrali periferiche verso i nodi Core (NODO A1). Struttura gerarchica: Tipo 3 → Tipo 2 → Tipo 1
- RC Italia (Rete Core Italia)
- Backbone nazionale TIM S.p.A. Layer 0/1 (fibra/DWDM) per interconnessione centrali principali. Include 32 NODO A1 (POP nazionali)
- Rete Revolution
- Progetto TIM di evoluzione infrastruttura ottica nazionale. Modernizzazione rete trasporto con tecnologie DWDM di nuova generazione e incremento capacità
- Tipo 1 / Tipo 2 / Tipo 3
- Classificazione centrali TIM. Tipo 1: HUB RA+RC (NODO A1, interconnesso Core). Tipo 2: HUB RA (nodi intermedi). Tipo 3: Passaggio (endpoint/trasparenti)
- WGS84 (World Geodetic System 1984)
- Sistema riferimento geodetico standard GPS. Coordinate: latitudine (-90,+90), longitudine (-180,+180)
Standard ITU-T Riferimento
| Standard | Titolo | Rilevanza CRO |
|---|---|---|
| G.652 | Fibra ottica monomodale standard | Specifiche tecniche fibra utilizzata in RC Italia |
| G.694.1 | DWDM frequency grid | Grid ITU per canali DWDM (50 GHz spacing) |
| G.709 | OTN (Optical Transport Network) | Layer trasporto ottico per backbone |
| E.164 | Numbering plan internazionale | Base per codici CLLI centrali |
🔄 Workflow Operativo (11 Passi)
Procedura standard end-to-end per analisi fattibilità collegamento
- Raccolta requisiti da ticket CR/GI: centrali A-B, vincoli, requisiti di ridondanza
- Verifica esistenza centrali nel database (tab "Database")
- Impostazione filtri geografici (es. solo Area LAZIO per ridurre search space)
- Configurazione vincoli: centrali obbligatorie, centrali da evitare, distanza/hop min-max
- Esecuzione ricerca: click "Avvia Ricerca" → elaborazione 2-10 secondi
- Analisi risultati: confronto distanze, numero hop, percorsi dettagliati nella tabella
- Visualizzazione mappa: click su percorso + "Visualizza su Mappa" per analisi topografica
- Calcolo attenuazione: vai al tab "Calcolo Attenuazione" (menu Analisi Extra), inserisci lunghezza e tipo fibra
- Selezione percorso ottimale: basati su distanza, attenuazione, diversificazione geografica
- Export documentazione: esporta in TXT (allegato tecnico) o CSV (elaborazioni)
- Archiviazione: salva screenshot mappa, allega export a ticket CR/GI, usa Undo per tornare indietro se necessario
🧭 Come funziona la Ricerca Percorsi (RA / RC / UNIFICATO)
Logica di calcolo, regole operative e scenari tipici
Il modulo di Ricerca Percorsi è il motore logico del CRO. Quando selezioni una centrale di Partenza, il tool individua il nodo nel database di riferimento (RA, RC o combinato) e ne memorizza la posizione nel grafo. Quando selezioni la centrale di Arrivo, costruisce dinamicamente il grafo coerente con lo scenario richiesto e calcola il percorso ottimale (distanza minima con tie-break su minor numero di collegamenti).
Ricerca RA
- Usa solo il database RA.
- I nodi T3 sono considerati solo passanti (non selezionabili come endpoint).
- Il risultato privilegia percorsi brevi e “puliti” (meno salti / meno tratte).
Ricerca RC
- Usa solo il database RC.
- Calcola percorso minimo tra nodi RC selezionati.
- Output coerente con logica “core routing” per fattibilità e verifiche rapide.
Ricerca UNIFICATA (RA + RC)
- Costruisce un grafo combinato RA + RC.
- La transizione RA↔RC avviene solo su nodi T1/POP.
- Evita scenari non validi (es. endpoint su T3).
- Restituisce una traccia unica utilizzabile in analisi e documentazione tecnica.
💼 Caso d'Uso Reale: ROMA SUD – ROMA INVIOLATELLA
Esempio pratico di utilizzo con vincoli multipli
Requisito CR/GI: Collegamento ROMA SUD → ROMA INVIOLATELLA con transito per ROMA OSTIENSE.
Procedura:
- Tab "Ricerca Percorsi": inserisci Partenza: "ROMA SUD"
- Inserisci Arrivo: "ROMA INVIOLATELLA"
- In "Centrali Obbligatorie" seleziona: ROMA OSTIENSE
- Opzionale: imposta Distanza Max: 50 km
- Click "Avvia Ricerca"
Risultato atteso:
Il sistema calcola percorsi che DEVONO passare per ROMA OSTIENSE. Ricevi:
- Percorso primario 1.1: ROMA SUD → ROMA OSTIENSE → ROMA INVIOLATELLA
- Percorsi alternativi 2.1, 2.2, ... (se esistono) geograficamente diversificati
- Distanze parziali per ogni hop
- Coordinate WGS84 di ogni centrale attraversata
Verifica attenuazione:
Se il percorso 1.1 è lungo 35 km con 3 collegamenti (6 connettorizzazioni), vai al tab "Calcolo Attenuazione" (menu Analisi Extra):
- Lunghezza tratta: 35 km
- Tipo fibra: SM 1550 nm (α = 0.22 dB/km)
- Collegamenti: 3 (= 6 connettorizzazioni × 0.3 dB)
Risultato: Perdita totale = (35 × 0.22) + (6 × 0.3) = 7.7 + 1.8 = 9.5 dB
Dentro budget tipico OTN (15-20 dB) → ✓ Collegamento FATTIBILE
💡 Tips Professionali
Suggerimenti per ottimizzare l'utilizzo del tool
- Usa filtri geografici (Area/Zona) per ricerche locali → performance x3
- Per percorsi lunghi (>200 km), limita a 15 percorsi invece di 30 → risparmio tempo 50%
- Verifica sempre su mappa la diversificazione geografica dei backup
- Calcola attenuazione prima di confermare fattibilità (non solo distanza!)
- Non usare nomi parziali (es. "ROMA" → 50+ risultati). Usa nome completo o GAT
- Non impostare vincoli impossibili (es. distanza max 10 km se A-B distano 100 km)
- Non inserire 10+ centrali obbligatorie → rallenta calcolo e può dare 0 risultati
- Non modificare CSV export manualmente → rispetta formato colonne
- Usa Undo per testare più configurazioni vincoli in pochi secondi
- Attiva "Solo NON ATTIVI" per analisi manutentive (impatto dismissioni)
- Funzione "Centrale più vicina": inserisci indirizzo se non conosci il nome
- Export CSV: personalizza colonne prima di esportare per ridurre file size
❓ FAQ & Troubleshooting
Risposte alle domande più frequenti
Cause possibili: vincoli troppo restrittivi, centrali obbligatorie non raggiungibili nel percorso A→B,
toggle "Solo NON ATTIVI" attivo ma nessuna tratta disponibile, centrali isolate nel grafo.
Soluzione: Rimuovi vincoli uno alla volta fino a trovare percorsi, poi re-applica graduali.
Causa: Problemi connessione a server Leaflet/OpenStreetMap o blocco CORS.
Soluzione: Verifica connessione internet, disabilita VPN/Proxy, prova browser diverso (Chrome/Edge), ricarica con Ctrl+F5.
Sì, parzialmente. Funzionano offline: ricerca percorsi, database, calcolo attenuazione, export.
NON funzionano offline: mappe (server OSM), geocoding "Centrale più vicina" (API Nominatim).
Invia richiesta al team Network Planning con: nome centrale, codice GAT, coordinate GPS (lat/lon WGS84), zona/area/regione, motivazione. Tempo elaborazione: 1-2 settimane (aggiornamento mensile DB).
🧾 Changelog – ultime revisioni (V35.00 → V16.31)
Sintesi delle modifiche più recenti (focus su Analisi Rete, Analisi Collegamenti Critici DWDM, Dark Mode)
V35.00 → V34.02.C (Analisi Rete Potenziata + Analisi Collegamenti Critici DWDM)
- 🔄 RINOMINATO Tab: "Occupazione Rete" → "Analisi Collegamenti Critici DWDM":
- Nuovo nome più descrittivo per l'analisi dei collegamenti critici DWDM
- Dashboard con KPI: Fattibilità totali, Subpath RA/RC Attivi e Non Attivi
- Identificazione Subpath Critici Non Attivi per rete DWDM
- Top 10 Subpath più utilizzati nelle fattibilità
- 🔍 Tab Analisi Rete POTENZIATO:
- Ricerca Subpath/Arco/Ramo su Database Unificato RA+RC (sempre)
- Algoritmo BFS per routing alternativo SENZA LIMITI di hop
- Rete UNIFICATA RA+RC: percorsi possono attraversare entrambe le reti
- Badge source colorato: 🔵 RA (blu), 🔴 RC (rosso), 🟣 RA+RC (viola misto)
- Esclusione automatica centrali Data Center (17 sedi IDC)
- Impatto sulle Fattibilità integrate con Analisi Collegamenti Critici DWDM
- 🌙 DARK MODE Completo: supporto per Analisi Rete e Analisi Collegamenti Critici DWDM:
- Titoli, sottotitoli, etichette e descrizioni adattati al tema scuro
- Box informativi e card statistiche con colori ottimizzati
- Leggibilità migliorata su tutti gli elementi UI
- 🔗 Vincoli sui Collegamenti (SubPath/Arco/Ramo) — Tab Ricerca Percorso RC e Unificato:
- ✅ Collegamento Obbligatorio: forza il percorso a passare attraverso specifici collegamenti, SubPath o archi
- 🚫 Collegamento da Evitare: esclude specifici collegamenti, SubPath o archi dal routing
- Supporto selezione multipla con tag visivi rimovibili (verde obbligatori, giallo da evitare)
- Autocomplete con dropdown al focus (senza digitare) + ricerca da 2 caratteri
- Match flessibile: ricerca parziale su IdCollegamento, Nome_SubPath, ID_ARCO
- 🖱️ UX Migliorata: cursore lampeggiante (caret) nascosto su testo non editabile:
- Selezione testo sempre possibile per copia (tabelle, risultati, note)
- Caret visibile solo in campi input/textarea
- Cursore pointer su elementi cliccabili
V34.01.C (Fix Critico TipoSede Direzione Routing)
- 🔧 FIX CRITICO TipoSede: tracciamento corretto della direzione del routing:
- Aggiunto _fromTipo/_toTipo in buildPathAlongArcRA per ogni segment
- Propagazione corretta di fromTipo/toTipo negli edges di routeObj e altRouteObj
- getNodeTipoSede ora usa fromTipo/toTipo invece dei valori raw invertiti
- 📋 Correzione Export e Copia: TipoSede ora coerente con il percorso:
- Export TXT mostra TipoSede corretti (es. 2↔3 quando il percorso va da T2 a T3)
- Copia Percorso Formattato con sequenza centrali corretta
- Sezione CENTRALI allineata con la direzione effettiva del routing
V34.00.C → V33.11.C (Ottimizzazione Export e Copia TipoSede)
- 📋 Correzione TipoSede nei Collegamenti: ordine corretto nelle funzioni Copia e Export:
- TipoSede ora rispetta la direzione effettiva del routing (es. 2↔3 invece di 3↔2)
- Corretto in: Copia percorso formattato (RA, UNIFIED), Export TXT (RA, UNIFIED)
- Formato coerente con la sequenza centrali mostrata nel percorso
- 🔧 Ottimizzazione Copia ID Collegamenti: migliorata logica di estrazione dati:
- Uso di fromTipo/toTipo dalla direzione del routing
- Fallback a dati DB solo quando necessario
- Applicato a tutti i tab: RA, Multi-Path, Div, UNIFIED
V33.10.C → V33.01.C (Miglioramenti Export UNIFIED)
- 📋 Export TXT Centrali: correzione TipoSede per tutte le centrali RA:
- TipoSede ora corrisponde esattamente alla colonna "Percorso Centrali"
- Centrali RC correttamente senza TipoSede
- Gateway RA↔RA mostrati con centrale duplicata prima/dopo separatore
- 🔢 Conteggio Collegamenti RA Ponderato: applicato in tutte le visualizzazioni:
- Verde (T1↔T2, T2↔T2) = peso 1
- Blu TIM (T2↔T3) = peso 0.5 (ogni 2 = 1)
- Grigio (T3↔T3) = peso 0
- Colonna "Mix" ora mostra RA ponderato coerente con totale
- 📏 Distanza Separata RA/RC: negli export TXT:
- Formato: "Distanza totale: X km (RA: Y km • RC: Z km)"
- Dettaglio mostrato solo quando entrambe le reti sono presenti
V33.00.C → V31.07 (Dashboard S.d.F. Multi-Foglio 2025/2026)
- 📋 Supporto Multi-Foglio Excel: lettura combinata fogli 2025 e 2026:
- Elaborazione automatica di tutti i fogli con header "Fattibilità"
- Somma delle righe da entrambi gli anni in un unico backlog
- Assegnazione automatica dell'anno basata sul nome del foglio
- 🔘 Nuovo Filtro Anno: selezione periodo di visualizzazione:
- "Tutto" = mostra 2025 + 2026 combinati (default)
- "Solo 2025" = filtra solo pratiche dal foglio 2025
- "Solo 2026" = filtra solo pratiche dal foglio 2026
- Posizionato dopo "Lavorante" sulla riga filtri
- 🗑️ Rimosso Toggle "Solo entro 7 giorni": non più necessario con la nuova gestione multi-anno
- 📊 Info Caricamento Migliorata: feedback dettagliato:
- Mostra totale righe per ogni foglio elaborato (es: "2025:89 + 2026:12")
- Log console con distribuzione anni per debug
V31.06 (Filtro Data Center e Colorazione Sedi Speciali nel Database)
- 🏢 Filtro Data Center: esclusione automatica delle 17 sedi IDC/housing dal routing:
- NAPOITHA, BOLOITLD, POMEITAY, GORGITFM, CEMAITAZ, RHOOIT0B157, ecc.
- Di default i Data Center sono esclusi dal routing RA, RC e UNIFIED
- 🔘 Bottone [DC]: toggle rapido per abilitare/disabilitare il passaggio attraverso i DC:
- Bottone magenta = DC esclusi (default)
- Bottone grigio = DC abilitati nel routing
- Posizionato sulla riga "Centrale da Evitare nel Routing"
- 🏷️ Badge [DC] nei percorsi: identificazione visiva delle centrali Data Center:
- Badge magenta [DC] nella colonna "Percorso Centrali"
- Es: NAPOLI/D (NAPOITHA) [DC]
- 📊 Filtri Database: nuovi filtri sedi nel tab Database:
- 🔷 Solo NODO A1 [T1]: mostra solo collegamenti con centrali Tipo 1
- 🏢 Solo Data Center [DC]: mostra solo collegamenti con DC
- 🎨 Colorazione Database: evidenziazione sedi speciali nelle tabelle:
- NODO A1: testo blu (#0066CC) con badge "A1"
- Data Center: testo magenta (#d1008f) con badge "DC"
V31.05 (Estensione Toast Notifications a tutti i Tab e Bottoni Azione)
- 🔔 Toast Estesi - Percorsi RA/RC/UNIFICATO: feedback visivi quando mancano centrali:
- Toast warning quando centrali non riconosciute in RC, RA, UNIFICATO
- Toast warning per parametri mancanti in Cliente SedeA → SedeZ
- 🧼 Toast Reset Tab: conferma visiva per reset completo tab:
- Tab RC: "🧼 Tab RC resettato"
- Tab RA: "🧼 Tab RA resettato"
- Tab UNIFICATO: "🧼 Tab UNIFICATO resettato"
- 🧹 Toast Pulisci Tabella: feedback per pulizia risultati:
- Conferma pulizia tabelle percorsi RC, RA, UNIFICATO
- 🔁 Toast Reset Campi: notifiche per reset form:
- Reset campi ricerca e posizione cliente in tutti i tab
- Reset campi Cliente SedeA/SedeZ
- 📊 Toast Analisi Costi: feedback per selezione elementi:
- "Seleziona Tutto": conferma selezione per sezione (Link/Coda/Apparati)
- "Azzera": conferma reset selezione
- 🗄️ Toast Visualizzazione DB: feedback cambio database:
- Switch RA Italia / RC Italia con toast conferma
- Reset filtri database
- 📈 Toast Dashboard S.d.F.: conferma reset dashboard internalizzati
- 🔍 Toast Analisi Rete: feedback per cambio scope e reset:
- Cambio database 🔵 RA / 🔴 RC / 🟣 Unificato
- Reset Analisi Rete
- 📑 Toast Confronto DB Excel: feedback per operazioni:
- Analisi completata con successo
- Reset Confronto DB
- Export JSON completato
- Reset Verifica GAT
- 📡 Toast Calcolo Attenuazione: reset calcolo fibra
- 🗑️ Fix Toast Memo: aumentato z-index toast (10100) per visibilità sopra popup Memo
- 📅 Fix Formato Date DB: corrette 762 date nel campo "Note" da MM/DD/YY a DD/MM/YY nei database RC e RA
V31.04 (Sistema Messaggi Unificato Toast/Popup, UX Moderna)
- 🔔 Sistema Toast Notifications: notifiche non-bloccanti per feedback rapidi:
- Posizionamento top-right con stacking automatico
- 4 tipi: success (verde), error (rosso), warning (ambra), info (blu)
- Auto-dismiss dopo 3 secondi con progress bar animata
- Supporto completo dark mode
- 💬 Sistema Popup Modale: finestre di dialogo per messaggi importanti:
- Backdrop blur con overlay scuro
- Animazioni entrata/uscita fluide
- Supporto bottoni personalizzati e confirm dialogs
- Focus trap e gestione tastiera (Escape per chiudere)
- ⚡ Override Intelligente alert(): logica automatica per tipo messaggio:
- SUCCESS/INFO brevi → Toast (feedback veloce, non blocca)
- WARNING/ERROR → sempre Popup (richiede attenzione)
- Messaggi lunghi (>150 char o >3 righe) → sempre Popup
- Rilevamento automatico tipo dal contenuto messaggio
- 🛠️ Bug Fix: correzioni tecniche:
- Corretto tag <script> mancante che causava visualizzazione codice come testo
- Bilanciamento script tags: 30 apertura / 30 chiusura
V31.03 (Micro-Interactions, Animazioni Fluide, Sistema Notifiche Base)
- ✨ Micro-Interactions Complete: hover states e transizioni su tutti i componenti:
- Buttons: hover lift, press feedback, focus glow
- Cards: subtle elevation on hover
- Form inputs: focus ring animato
- Links: smooth color transitions
- 🔔 Toast System Base: infrastruttura notifiche:
- Container posizionamento fisso
- Funzioni showToast(), toastSuccess(), toastError(), etc.
- Animazioni CSS per slide-in/slide-out
- 💬 Popup System Base: infrastruttura dialoghi:
- showCROPopup() con supporto tipi e bottoni custom
- showCROConfirm() per dialoghi di conferma
- Backdrop e animazioni
V31.02 → V30.08 (Design System Foundation, 361 CSS Variables, Dark Mode Semantico)
- 🎨 Design Tokens System: 361 variabili CSS categorizzate:
- Colors: primitivi (gray, blue, red, etc.) + semantici (primary, success, error)
- Typography: font families, sizes, weights, line-heights
- Spacing: scala 4px (--space-1 a --space-16)
- Shadows: 5 livelli (sm, md, lg, xl, 2xl)
- Border radius: scala coerente (sm, md, lg, xl, full)
- 🌙 Dark Mode Automatico: override semantico:
- Tokens semantici che si invertono automaticamente in dark mode
- Nessuna duplicazione CSS: solo override dei valori token
- Consistenza garantita su tutti i componenti
- 📐 Component Unification: stili base unificati:
- Buttons: varianti primary, secondary, success, danger, ghost
- Form controls: input, select, textarea con stati focus/error
- Cards: struttura standard con header, body, footer
- Tables: stili uniformi con hover e striped rows
- 🎯 TIM Brand Colors: palette ufficiale integrata:
- --tim-blue: #004C99 (primario)
- --tim-red: #C00000 (RC)
- Varianti light/dark per tutti gli usi
V30.07 → V29.16 (Integrazione NAT Italia, Export Multi-Path ottimizzato, Marker centrali)
- 🌍 Integrazione NAT Italia: nuovo bottone "Mappa NAT" per esportare percorsi:
- Disponibile nei tab Ricerca Percorso RA, RC e Unificato
- Esporta percorsi Std, Div e Multi-Path verso NAT Italia
- Trasferimento dati tramite localStorage per integrazione seamless
- Colori TIM: Blu RA, Rosso RC, Viola Unificato
- 🔄 Export Multi-Path Ottimizzato: evita duplicati nell'export:
- Percorsi Multi-Path con arco già presente in Std vengono esclusi
- Log in console per tracciamento percorsi skippati
- Riduce ridondanza nei dati esportati verso NAT
- 📊 Marker Centrali su NAT: visualizzazione completa:
- Marker per tutte le centrali del percorso
- Tooltip formattati secondo standard NAT
- Formato Nome (CLLI) [TipoSede] per RA
- 📝 Note Aggiornate: documentazione delle nuove funzionalità:
- Note su Ricerca Percorso RA, RC e Unificato aggiornate
- Descrizione funzionalità 🌍 Mappa NAT
V29.15 → V29.12 (Scroll to Top automatico, Filtro Arco RA ottimizzato, Bottoni Analisi Rete)
- 📜 Scroll to Top Automatico: implementato scroll automatico all'inizio pagina:
- All'avvio dell'applicazione (sempre dall'alto)
- Al cambio tab (ogni tab parte dall'alto)
- All'apertura di popup/modal (Memo, Alert, ecc.)
- Fix per F5: anche dopo refresh, partenza sempre dall'alto
- 🔗 Filtro Arco RA Ottimizzato: visualizzazione intelligente archi compatibili:
- Quando ci sono più archi compatibili, mostra SOLO quelli selezionabili
- Gli archi non compatibili vengono nascosti automaticamente
- Reset Filtro e Reset Tab ripristinano tutti gli archi visibili
- Migliore user experience nella selezione archi
- 🎨 Bottoni Analisi Rete: stile semplificato senza animazioni:
- Bottoni 🔵 RA, 🔴 RC, 🟣 Unificato senza transform/scale
- Solo cambio colore al hover (niente shadow, translateY, scale)
- Aspetto più sobrio e professionale in linea con altri bottoni
V29.11 → V29.07 (Dark Mode Memo/Alert completo, Filtro IN ATTIVAZIONE RA, Calcolatore fix)
- 🌙 Dark Mode Memo Popup: fix completo per tutti gli elementi:
- Header: sfondo scuro gradient, titolo bianco
- Toolbar: sfondo scuro, contatore blu chiaro
- Tab buttons: sfondo grigio, hover, active blu
- Tabella: sfondo scuro, testo chiaro, hover e selezione
- Form: input/select/textarea con sfondo scuro
- Info campi bloccati: sfondo blu scuro, testo chiaro
- 🌙 Dark Mode Alert Popup: fix per elementi colorati:
- Body e footer con sfondo scuro
- Alert items mantengono sfondi colorati con testo scuro leggibile
- 🌙 Dark Mode Calendario Memo: fix giorni con scadenze:
- Giorni con scadenze: sfondo ambra scuro, testo chiaro
- Giorni urgenti: sfondo rosso scuro, testo chiaro
- Badge contatore con colori visibili
- 🔽 Filtro IN ATTIVAZIONE RA: nuovo toggle nel tab Database:
- Checkbox arancione per stato IN ATTIVAZIONE
- Posizionato dopo NON ATTIVO [DA VERIFICARE SU NNI]
- Logica di filtraggio aggiornata (4 stati totali)
- ⚡ Calcolo Attenuazione: riga PERDITA TOTALE visibile in dark mode:
- Testo blu chiaro (#60a5fa) su sfondo scuro
- Rimossi stili inline conflittuali
- 📋 Menu Analisi: riordinato e pulito:
- Ordine: Costi → Rete → S.d.F. → Confronto DB
- Rimossa icona 🔧 da Analisi Rete
V29.06 (Comparatore Avanzato, Filtri DB RA, Selezione Separata, Dark Mode 21+ fix)
- ⚖️ Comparatore Avanzato: miglioramenti per tutti i tab (RA, RC, UNIFIED):
- Formato percorso: Nome (CLLI) [TipoSede] :RA: oppure Nome (CLLI) :RC:
- Stato collegamenti recuperato da DB RA/RC automaticamente
- Distanza calcolata dalla somma dei weight degli edges
- Transiti RA↔RC mostrati come separatori senza distanza/stato
- Titolo popup con centrali partenza→arrivo e CLLI/TipoSede
- Selettori compatti: 🔵 A: / 🔴 B: / 🟢 C:
- 🗄️ Filtri DB RA Fix: i filtri stati nel tab Database ora funzionano:
- Event listener aggiunti per checkbox filtri RA
- Sincronizzazione filtri quando si cambia scope RA/RC
- Filtri separati per RA (4 stati) e RC (5 stati)
- ✓ Selezione DB Separata: fix selezione multipla:
- Selezioni separate tra DB RA e DB RC
- Bottone aggiornato quando si cambia scope
- Risolto conflitto tra selezioni RA/RC
- 🔗 Toggle Condividi: comportamento migliorato:
- Clic ripetuto chiude il pannello (toggle)
- Auto-chiusura automatica dopo 10 secondi
- 🌙 Dark Mode Completo: fix per 21+ elementi:
- Popup Cronologia Ricerche: dark mode completo
- Tabelle percorsi Div RC: sfondo scuro
- Paginazione Database: bottoni leggibili
- Note ricerca: colori titoli preservati
- Tab Analisi Rete: etichette, tabelle, popup
- Analisi Costi: popup immagini schema
- Calcolo Attenuazione: tabelle coefficienti
- Documentazione: titoli e sezioni
- ✏️ Cursore Nascosto: rimosso cursore testo su aree non editabili
V29.05 (Comparatore 3 Percorsi, Dettaglio Collegamenti, Filtri DB, Layout Bottoni)
- ⚖️ Comparatore a 3 Percorsi: confronto fino a 3 percorsi affiancati:
- Minimo 2 percorsi per l'attivazione, terzo percorso opzionale
- Se disponibili ≥3 percorsi, compare il selettore "Percorso C" (verde)
- Layout dinamico: 2 colonne se 2 percorsi, 3 colonne se 3 percorsi
- Evidenziazione migliore/peggiore su tutti i percorsi confrontati
- 🔌 Dettaglio Collegamenti: nuova sezione nel comparatore:
- Elenco completo dei collegamenti per ogni percorso
- Tre colonne: ID (sinistra), Distanza km (sinistra), Stato (destra)
- Colori stato: Verde (ATTIVO), Rosso (NON ATTIVO), Arancione (IN ATTIVAZIONE), ecc.
- Scroll verticale per elenchi numerosi (max 200px)
- 🗄️ Filtri Database Separati: pannelli filtri stati distinti per DB RA e RC nel tab Database:
- DB RA: ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], IN ATTIVAZIONE, DA VERIFICARE SU NNI (4 stati)
- DB RC: ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO (5 stati)
- Pannelli si alternano automaticamente al cambio scope RA/RC
- 🎨 Layout Bottoni Sistemato: corretta sovrapposizione bottoni nei tab RC e Unificato
- 📋 Popup Cronologia: ripristinata altezza normale (max 85vh invece di 97vh)
V29.04 (Analisi Rete, Filtri Stati, Dark Mode, Calendario Memo, Comparatore, Condivisione)
- 🔧 Nuova Tab "Analisi Rete": nuovo strumento nel menu Analisi per ricerca avanzata:
- Ricerca per ID Collegamento: trova tutti i percorsi che attraversano un collegamento
- Analisi Impatto (What-If): simula cosa accade se un collegamento va in manutenzione
- Toggle database RA / RC / Unificato con colori TIM
- Tabella risultati con statistiche e export TXT
- Popup Dettaglio Percorso allargato (+30%)
- 🔽 Filtri Stati Avanzati: pannello espandibile per filtrare i collegamenti per stato:
- Disponibile in Ricerca Percorso RA, RC e Unificato
- RA: ATTIVO, NON ATTIVO [DA VERIFICARE SU NNI], DA VERIFICARE SU NNI
- RC: ATTIVO, NON ATTIVO, IN ATTIVAZIONE, IN VARIAZIONE, IN REINSTRADAMENTO
- Unificato: filtri separati per RA (3) e RC (5) con contatore combinato
- Bottoni "Tutti" e "Nessuno" per selezione rapida
- Pannelli chiusi di default per UI pulita
- 🌙 Dark Mode: nuova modalità scura con toggle nell'header, preferenza salvata in localStorage
- 📅 Calendario Mini nel Memo: visualizzazione calendario con evidenziazione scadenze e navigazione mensile
- ⚖️ Comparatore Percorsi (Nuova Feature): confronto side-by-side di due percorsi:
- Selettori dropdown per scegliere i percorsi da confrontare
- Visualizzazione affiancata con metriche: distanza, hop, centrali
- Evidenziazione automatica valori migliori/peggiori (verde/rosso)
- Disponibile per RC, RA e Unificato
- 🔗 Condivisione Parametri (Nuova Feature): genera codice condivisibile per i parametri di ricerca:
- Codifica tutti i parametri (partenze, arrivi, filtri, vincoli)
- Codice compatto da copiare e condividere
- Funzione "Carica Codice" per ripristinare i parametri
- Disponibile per RC, RA e Unificato
- 🎨 Miglioramenti UI: bottoni scope toggle con effetto visivo marcato, layout ottimizzato per Unificato
V29.03 → V29.02 (Export Excel "Diario Lavoro", Colonna Cliente, Dati Aggiuntivi)
- 📊 Export Excel "Diario Lavoro S.d.F.": nuovo bottone nel popup Memo per esportare in formato Excel:
- Formato compatibile con template "DIARIO_LAVORO_S_d_F"
- Fogli separati per ogni lavorante (se più di uno)
- Formule data e numero settimana automatiche
- Larghezza colonne auto-fit, bordi minimal
- Colonne CLIENTE e NOTE con larghezza fissa (400px) e word wrap
- Colonne: ID, Data Emissione, Data Inizio Progettazione, Data Scadenza, Data Accettazione Cliente, Esito, Fattibilità, Tipo, Territorio, Provincia, Comune, Cliente, Interventi Dimensionali, Interventi Infrastrutturali, Priorità, Note
- 👤 Colonna Cliente nella Tabella Memo: aggiunta colonna "Cliente" nella tabella del popup Memo, importata automaticamente dal campo "Descrizione / Cliente" della tabella S.d.F.
- 💾 Dati Aggiuntivi per Export: memorizzazione automatica di tutti i campi S.d.F. necessari per l'export Excel (Lavorante, Territorio, Provincia, Comune, Date, Interventi) durante l'import tramite "📝 Aggiungi a Memo".
V29.01 → V22.09 (Memo e Promemoria S.d.F., Visibilità Condizionale, Uniformazione Stili)
- 📝 Memo e Promemoria S.d.F.: nuovo sistema completo per gestire promemoria sulle Schede di Fattibilità:
- Bottone 📝 nell'header per accesso rapido al pannello Memo
- Possibilità di aggiungere memo manuali o importarli dalla tabella S.d.F.
- Alert configurabili per scadenze imminenti (0-30 giorni)
- Export CSV dei memo e gestione completa (modifica, elimina, cerca)
- Badge con contatore memo attivi visibile nell'header
- Persistenza dati in localStorage
- 👁️ Visibilità Condizionale Dettaglio S.d.F.: la card "Dettaglio S.d.F." nel tab Dashboard S.d.F. Internalizzati è ora nascosta di default e viene mostrata solo dopo il caricamento di un file Excel con dati validi.
- 🎨 Uniformazione Stile Bottone Memo: il bottone 📝 Memo nell'header ora ha lo stesso stile piatto degli altri bottoni (es. "⚡ Calcola Attenuazione"), senza ombra blu e con transizioni uniformi.
V22.08 (Ottimizzazione Colonne e Card Stats)
- 📊 Card Collegamenti Non Attivi - Label VERIFICARE SU NNI: la voce "DA VERIFICARE SU NNI" (che accorpa anche "NON ATTIVO [DA VERIFICARE SU NNI]") ora viene visualizzata semplicemente come "VERIFICARE SU NNI" per maggiore compattezza.
- 📐 Colonna ID Collegamenti: larghezza aumentata da 28% a 31% (+10% relativo) nei tab Ricerca Percorso RA, RC e Unificato (esclusa tabella Multi-Path).
- 📐 Colonna Percorso Centrali: ridotta da 40% a 37% per compensare l'allargamento della colonna ID Collegamenti.
- 📏 Allineamento a sinistra: tutte le colonne di tutte le tabelle nei tab Ricerca Percorso RA, RC e Unificato sono ora allineate a sinistra (text-align: left).
- 📋 Collegamenti RC nel tab Unificato: i collegamenti RC nella colonna "ID Collegamenti" vengono ora visualizzati con massimo 4 elementi per riga (es: CCB099 → CCB082 → CCB006 → CCB012 → / CCB023 → CCB005 → ...).
V22.07 (Gestione DA VERIFICARE SU NNI, Formattazione ID RA con Stato)
- 🔘 Nuovo Filtro "DA VERIFICARE SU NNI": aggiunto toggle nero nel tab Database per filtrare gli stati contenenti "DA VERIFICARE SU NNI" (include anche "NON ATTIVO [DA VERIFICARE SU NNI]").
- 📋 Formattazione ID Collegamenti RA con Stato: nella colonna "ID Collegamenti" dei tab "Ricerca Percorso RA" e "Ricerca Percorso Unificato" viene ora mostrato lo stato:
- ATTIVO/NON ATTIVO:
ID [STATO] - IN ATTIVAZIONE/IN VARIAZIONE/IN REINSTRADAMENTO:
ID [STATO • Previsto DATA] - DA VERIFICARE SU NNI:
ID [DA VERIFICARE SU NNI]
- ATTIVO/NON ATTIVO:
- 📊 Card Collegamenti Non Attivi: le voci "DA VERIFICARE SU NNI" e "NON ATTIVO [DA VERIFICARE SU NNI]" sono ora accorpate in un'unica voce aggregata.
- 🔧 Normalizzazione DB RA: supporto automatico per il nuovo formato del database RA Italia (TipoSede_A→TipoSedeA, TIPOPORTANTE→TipoPortante, etc.).
- 📐 Larghezza Colonna ID Collegamenti: aumentata a 85 caratteri (min-width: 520px) per visualizzare stato e previsione su una sola riga.
- 🎨 Default Colonne Tab Database: colonne di default ottimizzate per RA e RC (inclusi Tipo Sede A/Z e Note per RA).
V22.06 → V20.05 (Info Stato/Previsione per ID Collegamenti RC non ATTIVI)
- 📋 Info Stato/Previsione per ID RC: per i collegamenti RC con stato IN ATTIVAZIONE, IN VARIAZIONE o IN REINSTRADAMENTO, viene ora mostrata l'info
[STATO - Previsto: Note]:- Visualizzazione nella colonna "ID Collegamenti" delle tabelle RC e Unificato
- Incluso in tutte le funzioni "Copia Percorso Formattato"
- Incluso in tutte le funzioni "Copia ID Collegamenti"
- Incluso negli export TXT (Std e Std+Div)
- Esempio:
CTO070 [IN ATTIVAZIONE - Previsto: 3/31/26] - ATTIVO e NON ATTIVO: solo colore, nessuna nota aggiuntiva
- 🎨 Colori confermati per stati RC: Verde=ATTIVO, Rosso=NON ATTIVO, Arancione=IN ATTIVAZIONE, Blu=IN VARIAZIONE, Viola=IN REINSTRADAMENTO
V22.04 → V20.02 (Menu Dropdown, S.d.F. Internalizzati, Confronto DB Excel)
- 🔄 Menu Navigazione a Dropdown: riorganizzazione della barra di navigazione:
- "Ricerca Percorsi" ora è un menu a tendina con: RA, RC, Unificato
- "Analisi Extra" ora è un menu a tendina con: S.d.F. Internalizzati, Analisi Rete, Confronto DB Excel, Calcolo Attenuazione
- Navigazione più compatta e organizzata
- 📊 Analisi S.d.F. Internalizzati: nuova dashboard completa:
- KPI in tempo reale (assegnati, completati, da lavorare, annullati)
- 6 grafici interattivi (stato, tipo, priorità, territorio, esito, scadenze)
- Filtri avanzati per stato, tipologia, territorio e scadenza
- Tabella dettagliata con ordinamento e ricerca
- 📋 Analisi & Confronto DB Excel: tool per confronto versioni DB:
- Confronto celle tra versione VECCHIA e NUOVA
- Report dettagliato delle differenze
- Verifica speciale GAT_A/GAT_Z per file RA/RC
- Export JSON del primo foglio
- 🔧 Fix Documentazione: correzione scroll offset per i link dell'indice laterale.
V20.01 → V18.01 (Routing Completo T3, Gateway T1, Copia Formattata)
- 🔄 Routing RA Completo con T3: la colonna "Percorso Centrali" ora mostra TUTTE le centrali attraversate incluse le T3:
- Ogni centrale mostra il TipoSede: [T1], [T2], [T3]
- Centrali possono ripetersi nel percorso (passaggi multipli sullo stesso nodo)
- Sequenza esatta dal progressivo di partenza a quello di arrivo
- 🔄 Routing UNIFIED Completo: espansione automatica degli edge RA virtuali:
- Mostra tutti i collegamenti intermedi (non più compressi)
- Centrali T3 visibili nel percorso con [Tn]
- ID Collegamenti completi dal progressivo start al progressivo end
- 🎯 Gateway T1 Corretto: transizioni RA↔RC ora forzate su nodi TipoSede=1:
- Non si esce più da RA su nodi T3 (era un bug)
- Il percorso continua fino a trovare il CLLI con Tipo 1
- Esempio: NOLA SGT [T3] → ... → NOLA SGT [T1] → RA↔RC
- 📋 Copia Formattata Migliorata: nuova formattazione per tutti i tab:
- Separatori ══════════ uniformi
- Centrali: 2 per riga (RA/UNIFIED), 3 per riga (RC)
- Flag emoji solo su partenza 🇵🇦🇷🇹🇪🇳🇿🇦, gateway 🇬🇦🇹🇪🇼🇦🇾, arrivo 🇦🇷🇷🇮🇻🇴
- Rimosso flag passaggio 🇵🇦🇸🇸🇦🇬🇬🇮🇴 intermedio
- 🔗 Copia ID Collegamenti Migliorata:
- Ogni ID su riga separata (non più raggruppati)
- Flag solo primo/ultimo (+ gateway per UNIFIED)
- RC/UNIFIED: aggregazioni ID+ID+ID e prefisso+numeri
V18.00 → V17.3 (Export Professionale, Copia con Bandiere, Fix Mappe)
- 📄 Export TXT Professionale: nuovo formato unificato per RC, RA e UNIFIED con:
- Header grafico con bordi ═══════ e ────────
- Box percorso con distanza, collegamenti, centrali attraversate
- Centrali numerate .01. .02. con formato (CLLI)
- ID Collegamenti con TipoSede (T1↔T2) e km allineati
- Nomi file standardizzati: CRO_RC_Std_, CRO_RA_StdDiv_, CRO_UNIFIED_
- 📋 Copia Formattata con Bandiere: emoji per indicare posizione nel percorso:
- 🇵🇦🇷🇹🇪🇳🇿🇦 = PARTENZA (primo collegamento)
- 🇵🇦🇸🇸🇦🇬🇬🇮🇴 = PASSAGGIO (cambio centrale intermedia)
- 🇬🇦🇹🇪🇼🇦🇾 = GATEWAY (transizione RA↔RC in UNIFIED)
- 🇦🇷🇷🇮🇻🇴 = ARRIVO (ultimo collegamento)
- 🔗 Bottoni 📋🔗 Solo Icona: rimosso testo "Copia", aggiunti in tabelle Multi-Path e Div Multi-Path.
- 📐 Layout Colonne Ottimizzato:
- RA principale: Percorso Centrali 350px (era 300), ID Collegamenti 150px (era 200)
- Multi-Path: Centrali max 270px, ID min 180px
- UNIFIED: Centrali 480px (era 450), ID 110px (era 140)
- 🗺️ Fix Mappe: corretto errore sintassi "}};" che bloccava tutte le funzioni mappa. Navigazione ripristinata per RC, RA e UNIFIED.
- 🎯 Tab RA: rimosso bottone "🗺️ Maps" dalla colonna Azione tabella principale (disponibile nei bottoni header sezione).
V17.2 (Filtri Avanzati, UX Migliorata, Bottoni Copia)
- 🗺️ Maps Std vs Std+Div (UNIFICATO): bottone "Maps" separato per visualizzare solo percorsi Std oppure tutti i percorsi Std + Div sulla mappa.
- ✕ Bottone Chiudi Modal: aggiunto bottone X per chiudere i popup oltre a ESC.
- 👆 Click Outside Undo: i pannelli "↩️ Undo (Ultime 20)" si chiudono automaticamente cliccando fuori (non solo premendo di nuovo il bottone).
- 🚀🏁 Inserisci senza Popup: toggle Partenza/Arrivo nel tab Unificato ora funziona senza mostrare popup di conferma.
- ℹ️ Info Zona attivato: sezione VENDOR • ZONA • REGIONE • AREA ora funzionante in RA e Unificato.
- 🔗🔢📏 Filtri Avanzati (UNIFICATO): aggiunti N° Collegamenti (max 100), N° Risultati (max 300, default 30), Distanza Km (max 2000).
- 📋🔗 Bottoni Copia (RA + UNIFICATO): aggiunti bottoni "Copia Percorso Formattato" e "Copia ID Collegamenti" nelle tabelle risultati.
- 🎨 Legenda Colori RC: aggiunta legenda colori stato collegamenti nelle Note (Verde=ATTIVO, Rosso=NON ATTIVO).
- 🔄 Layout RA Riorganizzato: invertite righe "Solo ATTIVI + Reset Campi" e "Calcola + Multi-Path + Undo + Reset Tab".
- 🔕 Niente Popup Ripristino (RC): rimossa conferma popup quando si seleziona dalla cronologia ricerche.
V17.1 → V17.02 (UNIFICATO Avanzato - Percorsi Multipli e Diversificazione)
- 🎨 Colorazione ID Collegamenti: implementato sistema di colorazione semantica per il tab Unificato:
- Verde RA: collegamenti T1↔T2 o T2↔T2 (principali, contano 1)
- Blu TIM RA: collegamenti T2↔T3 (intermedi, contano 0.5)
- Grigio RA: collegamenti T3↔T3 (passaggio, non contano)
- Verde RC: collegamenti ATTIVO
- Rosso RC: collegamenti NON ATTIVO
- Viola: label RA↔RC per i cambi di rete
- 🔢 Calcolo Collegamenti: regole differenziate per RA (verde=1, blu=0.5, grigio=0) e RC (tutti contano 1).
- 📊 Colonna Mix Avanzata: mostra conteggio separato RA/RC e numero di salti RA↔RC.
- 🥇🥈 Percorsi Multipli: fino a 10 percorsi standard (Std) con algoritmo K-shortest paths (Yen).
- 🔀 Percorsi Diversificati (Div): fino a 10 percorsi diversificati per ogni Std, con esclusione automatica delle centrali intermedie condivise.
- 🚀🏁 Partenza 2 / Arrivo 2: campi opzionali per definire endpoint alternativi per i percorsi diversificati.
- ✅ Centrale Obbligatoria: nuovo campo con supporto selezione multipla per forzare il passaggio su più centrali.
- 🚫 Centrale da Evitare: nuovo campo con supporto selezione multipla per escludere più centrali dal grafo.
- 📋 Percorso Centrali: partenza e arrivo in grassetto, label RA↔RC in viola grassetto.
- 📦 Nuova sezione UI per i percorsi diversificati con tabella dedicata.
- 🗺️ Integrazione Mappa: sincronizzazione automatica con mappa topografica per percorsi Std e Div.
V17.01 → V16.40 (Fix Mappe Percorsi + UNIFICATO DB)
- Ripristinata sezione HTML "Mappa Topografica dei Percorsi" (
tab-mappa-percorsi) e "Mappa Topografica Nazionale" (tab-map) mancanti nel file. - Fix bottoni 🗺️ Maps nei tab RA e RC: ora funzionano correttamente aprendo la mappa con i percorsi calcolati.
- Fix DB tab UNIFICATO: inizializzazione robusta con retry automatico, log di debug, reinizializzazione automatica al click sul tab.
- Esposta funzione
window.reinitUnifiedTab()per debug e reinizializzazione da console.
V16.39 (UNIFICATO + Cliente SedeA/SedeZ + Undo/Reset)
- UNIFICATO: aggiunti ↩️ Undo (Ultime 20) e 🧼 Reset Tab con comportamento coerente RA/RC.
- Rinomine UI: ⚡ Calcola Percorso UNIFICATO RA + RC, Cliente Sede A → Rete → Sede Z, sezioni e label coordinate.
- Ottimizzazioni micro-layout UNIFICATO (coerenza con tab RA/RC e controlli operativi).
V16.38 (Bottoni copia/Maps – colonna destra)
- Spostamento e riallineamento dei bottoni 📋 Copia Percorso, 🔗 Copia ID Collegamenti, 🗺️ Maps sotto “Note” in colonna destra (fuori dalla card note).
- Allineamento visivo con la riga “Arrivo (Std)” senza impattare le altre sezioni del tab.
V16.37 (Fix posizionamento bottoni UNIFICATO)
- Correzioni su posizionamento bottoni per evitare allineamento “centrato pagina” sopra tabella.
- Consolidata la collocazione: colonna destra, sotto Note, fuori card.
V16.36 (Ottimizzazioni minime UNIFICATO)
- Interventi “chirurgici” sul tab UNIFICATO: spostamenti UI mirati senza alterare la struttura generale.
- Migliorata coerenza con gli altri tab di ricerca (RA/RC).
V16.35 (Rifiniture layout note UNIFICATO)
- Rifiniture colonna destra (Note) e spaziature per rendere il pannello più leggibile.
- Allineamento con comportamento atteso da screenshot di riferimento.
V16.34 (Stabilità e UI UNIFICATO)
- Stabilità su interazioni UNIFICATO e miglior gestione delle azioni utente.
- Piccoli fix su layout/spacing (senza regressioni sui tab RA/RC).
V16.33 (Baseline UNIFICATO esteso)
- Consolidamento tab UNIFICATO con casistiche miste RA↔RC e prime funzioni operative complete.
- Allineamento UI con pattern dei tab RA/RC (sezioni e griglie).
V16.32 (Fix minori e coerenza UI)
- Correzioni minori di impaginazione e coerenza UI tra tab di ricerca.
- Stabilizzazione flussi di reset/aggiornamento risultati.
V16.31 (Avvio ciclo Rev16.x)
- Aggiornamento card “Novità” in Overview e consolidamento struttura principale.
- Prima base completa Rev16.x su cui sono state applicate le revisioni successive.
👤 About Me
Giuseppe Lupoli
Info
📊 Schema Coda Cliente & Servizio
Struttura dei costi per tipologia di coda e servizio
📋 Schema Link Rete RA & RC
Listino prezzi collegamenti di rete
🔧 Schema Apparati & Cestelli
Costi apparati di rete e configurazioni cestelli